Я поделился диском с операционной системой: Windows Server 2008 R2 Enterprise Service Pack 1, затем написал несколько кодов c++ для доступа к этому диску с помощью Windows API (WNetAddConnection2) с других компьютеров в моей организации через HTCondor (это может быть любая система Windows от XP до 8).

В некоторых случаях подключение успешно и копирование файлов с общего диска, но подключение внезапно не удалось. Наконец, я не могу удалить файлы на моем общем диске.

Я должен перезагрузить общие компьютеры и удалить файлы.

Как я могу удалить файлы без перезагрузки? Пожалуйста, дайте мне знать, если мой вопрос не ясен.

Спасибо за любые предложения.

1 ответ1

1

У вас есть физический доступ к машине? Если да, поскольку вы знаете, что сетевое соединение блокирует файл, вы можете временно отключить сетевое соединение, которое должно снять блокировки. Если вы обращаетесь к компьютеру удаленно, то эта опция, очевидно, не будет работать, так как вы тоже будете заблокированы.

Вы также можете использовать дескриптор, который должен показать вам, какой процесс Windows заблокировал файл. Затем вы можете убить только этот процесс, чтобы освободить дескриптор (блокировку) для этого файла. Однако помните, что если процесс, который вы убиваете, является необходимым процессом Windows, то это может привести к нестабильности, и в этом случае вам, возможно, придется перезагрузить компьютер для восстановления.

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