1

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

Я зашел в диспетчер задач и убил cmd.exe, но он удалил только одно окно. Теперь, нажав "перейти к процессу" в мертвом окне, я получаю первую вещь в списке процессов, независимо от того, что это такое. В общем, у меня есть мертвое окно cmd.exe, к которому на самом деле не прикреплен cmd.exe, и я не знаю, как его убить. Это было там в течение 3 дней, и это начинает действовать мне на нервы.

РЕДАКТИРОВАТЬ: я пытался использовать Process Explorer, и он просто говорит мне, что не может найти процесс.

3 ответа3

2

Process Explorer смог найти его. Сначала я не думал, что это работает, потому что функция перетаскивания не подхватывает его, но я смог найти его, выполнив поиск в списке на предмет приостановленных процессов.

0

Есть отличная команда разработчиков из systernals, которая называется Microsoft, под названием PSTools. Они по существу перенесли набор инструментов * nix ps в Windows.

Особый инструмент в наборе инструментов, который может быть ценным для вас, - это pskill. Pskill может убить svchost.exe и даже потоки безопасности csrss, если вы убьете csrss, система откажется от проверки системы, и я только отмечу, что это неграмотно для мощного инструмента. Возможно, он убьет ваш «зависший» cmd.exe или имя процесса, который вы запускали в cmd.exe.

Вот ссылка на инструментарий.

0

Когда окно не исчезает, это не всегда ошибка процесса, который владеет (редактирует) это окно. Это может быть ошибка любого процесса, владеющего материалом под окном. Процесс не несет ответственности за удаление своего окна (кроме простого вызова DestroyWindow). Скорее, процессы, которым принадлежат окна, которые должны быть раскрыты, сами ответственны за перерисовку своих окон.

Например, Explorer (не IE, просто explorer.exe) владеет рабочим столом. Предположим, что у какого-то приложения есть окно на рабочем столе, а под ним ничего нет, кроме рабочего стола. Если вы щелкнете по красному окну X окна и процесс вызовет DestroyWindow, Explorer должен услышать об этом и перерисовать ту часть рабочего стола, которая должна быть открыта. (Учтите, что окно, которое исчезает, не имеет ни малейшего представления о том, что находится под ним ... поэтому оно не может перерисовать это.)

Итак: если процесс (который не имеет ничего под своим окном, кроме рабочего стола) уходит, но его окно остается там, это обычно означает, что Explorer завис, или, по крайней мере, поток Explorer, которому принадлежит рабочий стол. (Да, рабочий стол - это окно, ему просто не хватает обычных украшений.)

Обходной путь - использовать диспетчер задач, чтобы убить explorer.exe и запустить другой (из меню «Файл» TM, «Выполнить .., explorer.exe»). Вы можете попробовать это в этом случае.

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