Состояние файла, который удален, пока другой процесс записывает в него

172
ROMANIA_engineer

У меня есть WAMP, который пишет (очень часто) журналы в файл.

Если я удаляю этот файл (используя Shift+ Delete), он на мгновение исчезает, а затем возвращается (с тем же размером, а не 0).

  • Когда я пытаюсь открыть его с помощью блокнота, он говорит:

    Доступ закрыт

  • Когда я пытаюсь открыть его с помощью Notepad ++, он говорит:

    файл не существует Создать это?

    • Если я выберу «Да», это показывает:

      Невозможно создать файл " файл ".

  • Когда я запускаю из cmd :

    type file 

    это показывает:

    В доступе отказано.

  • Когда я запускаю из cmd:

    dir /Q 

    это показывает ...для этого файла, в то время как для обычного файла это показывает BUILTIN\Administrators(где /Qозначает Display the owner of the file.).

  • Когда я перезагружаю сервер, файл удаляется.

Вопросы:

  1. Каков статус этого файла? (он должен иметь особый статус, если попытка доступа к нему имеет другое поведение)
  2. Как я могу изменить этот статус в согласованное состояние? (быть читабельным)
  3. Как работает удаление в этом случае? Он помещается в очередь и выполняется только после того, как файл «выпущен»?
0
Подсказка: это может зависеть от используемой вами файловой системы и / или версии Windows. Run CMD 8 лет назад 0
Существует открытый дескриптор файла, который его блокирует, то есть OS / FS предотвращает одновременную запись нескольких процессов в один и тот же файл. Когда WAMP изящно выключается, он должен отпустить все свои ручки. Можно вручную убить его дескриптор, но это может привести к нежелательному поведению или падению. Linef4ult 8 лет назад 2

0 ответов на вопрос