'Комната-rf' не атомарный?

Поскольку Вы видите в /etc/issue, Вы используете CentOS 5.3. (Это говорит, что Red Hat, потому что CentOS основан на источниках RH и некоторых проверках программного обеспечения /etc/issue определить используемый дистрибутив; таким образом они перестали бы работать, если бы это было изменено на CentOS).

4.1.2-4 в /proc/version относится к версии gcc Компилятор C раньше создавал ядро.

11
03.05.2014, 23:06
1 ответ

Данное сообщение об ошибке было "Каталогом, не пустым" (ENOTEMPTY), учитывая эти Ваши корректные звуки предположения, что это - состояние состязания, где программа создала файл в том каталоге незадолго до rm попробованный для удаления каталога, давая ожидаемый ENOTEMPTY ошибка от базового rmdir(2).

Примечание: Чтобы быть на безопасной стороне, Вы могли переместиться/переименовать каталог в новое имя и затем выполнить Ваше удаление этого каталога.

7
27.01.2020, 19:59
  • 1
    Этот ответ является неправильным, можно удалить записи каталога, даже когда файл используется, и затем удалите каталог. Простой тест mkdir x; cat > x/a &; tail -f x/a &; rm -r x шоу, что каталог может быть удален, даже когда файлы используются, независимо от того, открыты ли они для чтения или записи. –  wingedsubmariner 22.10.2013, 04:15
  • 2
    Да, файлы все еще существуют, но это не имеет никакого отношения, почему удаление каталога не успешно выполнялось. Этот оператор в Вашем ответе конкретно является ложью: "Система не удалит каталог, который имеет файлы, находящиеся в ней, которые открыты в режиме чтения-записи". Существует некоторый хороший материал в Вашем ответе, он просто не принадлежит вопросу :) –  wingedsubmariner 22.10.2013, 04:22
  • 3
    кроме того, боится путать дескрипторы файлов с файлами. Дескрипторы файлов никогда не удаляются, только закрываются. –  wingedsubmariner 22.10.2013, 04:23
  • 4
    Вашему первому абзацу, возможно, понадобилась бы некоторая работа также. Вы правы относительно удаления файла, не происходящего, когда файлы все еще открыты, это просто, что, после того как файл был несвязанным с тем каталогом, они не препятствуют тому, чтобы каталог был удален. Да, это означает, что UNIX позволяет файлам существовать, которые не находятся ни в каком каталоге, столь же странном, как это кажется сначала. –  wingedsubmariner 22.10.2013, 04:32
  • 5
    я действительно могу только думать о двух причинах, почему удаление перестало бы работать, или интуиция OP, был корректен, и был создан новый файл, или это - ошибка разрешения. rm жалуется на ошибки разрешения, таким образом, я думаю, что мы можем устранить это. Я не достаточно уверен отправить ответ все же. –  wingedsubmariner 22.10.2013, 04:35

Теги

Похожие вопросы