Что может привести к тому, что ядро ​​Windows пропустит дескриптор EXE?

267
TheHansinator

Эта проблема в основном возникает в контексте разработки программного обеспечения, но я спрашиваю об этом здесь, потому что она также возникла с совершенно не связанной программой.

По сути, проблема, с которой я сталкиваюсь на моем компьютере, заключается в том, что иногда, когда я пытаюсь перезаписать ранее запущенный EXE-файл, я получаю сообщение об ошибке «Отказано в доступе», даже если рассматриваемый EXE- файл в данный момент не запущен . На самом деле, я даже не могу снова запустить EXE, и когда я изучаю разрешения, я даже не могу их прочитать (как показано ниже).

Я также не могу удалить файл, даже если использую командную строку администратора. Единственный способ удалить файл - это перезагрузить компьютер, не используя быстрый запуск (т.е. не переводя ядро ​​в спящий режим), после чего к файлу восстанавливаются обычные разрешения, и я могу снова удалить и перезаписать его. Это заставило меня подозревать, что ядро ​​держится за файл, и когда я захожу в ProcessExplorer, процесс SYSTEM, безусловно, имел дескриптор EXE.

Итак, что может привести к тому, что ядро ​​пропустит дескриптор к EXE-файлу? Это просто ошибка в новом обновлении Windows? Может ли это быть драйвер, такой как графический драйвер? Другими словами, что я должен отследить и удалить, чтобы мне больше не приходилось перезагружать компьютер?

enter image description here

РЕДАКТИРОВАТЬ: дополнительная информация: когда я перезагружаю компьютер, рассматриваемый EXE-файл полностью исчезает.

РЕДАКТИРОВАТЬ 2: Вот информация из Process Explorer: Handle under System process in ProcessExplorer Handle Properties Handle Security Properties

2
У меня была похожая проблема после компиляции exe-файла, который перезаписывал предыдущую версию, она внезапно не запускалась. Очевидно, что процесс все еще загружен в память. Его уничтожение привело бы к возрождению этого процесса (который был в Visual Studio), но он освободил дескриптор, и проблема исчезла. Он возвращался еще несколько раз, но каждый раз убивал этот процесс. (сообщение об ошибке предоставило мне имя этого exe-файла) Я получил ошибку после попытки перекомпилировать программу. LPChip 6 лет назад 1
Я собираюсь сделать ставку на ваше антивирусное программное обеспечение. grawity 6 лет назад 0
@ Grawity может быть, но в моем случае на Windows Server 2016 без антивируса у меня была такая же проблема. LPChip 6 лет назад 0
Это может быть простая проблема с разрешениями пользователя, не такая сложная, как вы думаете. Попробуйте команду `icacls`. Biswapriyo 6 лет назад 0
@ Бисва вряд ли. Проблема с разрешениями не будет решена после перезагрузки. Похоже, файл застрял в режиме произвольного доступа. LPChip 6 лет назад 2
Что это за ручка? Можете ли вы предоставить снимок экрана диалога свойств дескриптора из Process Explorer? HelpingHand 6 лет назад 0
Конечно, это не работает в фоновом режиме? Список задач / fi "imagename eq AnimatorEditor.exe" TOOGAM 6 лет назад 0
@TOOGAM Абсолютно уверен, что он не работает в фоновом режиме. Я смотрю как на диспетчер задач, так и на Process Explorer, и он вообще не работает. Кроме того, если я перезагружаю компьютер * с помощью * Fast Startup (гибернация ядра, но уничтожение всех процессов), проблема сохраняется. TheHansinator 6 лет назад 0
@HelpingH, и я добавил скриншоты о ручке. TheHansinator 6 лет назад 0
У меня нет никакой полезной информации, чтобы добавить, кроме того, я видел, как это часто случается в последнее время. Прежде всего, если я пытаюсь обновить программное обеспечение, оно застревает при попытке перезаписать один исполняемый файл, и перезагрузка очищает его. Бывает на ряде систем, единственная общность - это Windows 10. Jesse Slicer 6 лет назад 0

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