4

У меня есть приложение, которое регулярно записывает данные в файл на локальном диске. Он всегда открывается, пишет, затем закрывает файл. Недавно у меня возникла проблема, когда он прекратил запись данных, и это было связано с невозможностью открыть файл из-за нарушения общего доступа. Ситуация казалась постоянной.

Process Explorer показал дескриптор файла, хранящегося в System процессе, PID 4. Как только я заставил этот дескриптор закрыться, мое приложение снова стало работать нормально.

Теперь у меня есть подозрения, поскольку к файлу также можно получить доступ с других компьютеров в сети, но файл всегда открывается на короткое время и снова закрывается, и всегда с флагами «RW-», и приложение предназначено для того, чтобы справляться с этими проблемами. краткий доступ из других мест. Дескриптор, который удерживал файл открытым, был отмечен как "R--" в проводнике процессов.

Мои вопросы: как я могу узнать больше о дескрипторе, принадлежащем процессу System , и какой процесс может удерживать файл открытым, чтобы я не мог записать в него?

1 ответ1

4

Вы, вероятно, правы, подозревая, что файл был доступен через сеть. Другие вещи, о которых я мог бы рассуждать, - это служба индексирования или ваш антивирус, но я не думаю, что какой-либо из них будет отображаться как "Система".

Я не думаю, что есть какой-либо способ получить больше информации о дескрипторе, чем проводник процесса.

Возможно, есть ошибка в том, что ваше приложение «предназначено для того, чтобы справляться с этими краткими обращениями из других мест»? Вы можете разместить код в CodeReview и спросить людей, видят ли они какие-либо проблемы с ним.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .