Как завершить процесс и его родителя из командной строки - PullRequest
1 голос
/ 20 мая 2011

У меня есть процесс, который запускается из командной строки - file.bat, хотя его родительский cmd.exe также необходимо завершить. Единственная проблема в том, что есть другие экземпляры cmd.exe, есть ли способ завершить процесс file.bat - без удаления других экземпляров cmd.exe

(я не могу просто завершить процесс cmd.exe, так как в этом случае я не знаю PID)

1 Ответ

2 голосов
/ 20 мая 2011

Вы можете попробовать проанализировать вывод утилиты PsList из Sysinternals.

Вы можете получить его у: http://technet.microsoft.com -> поиск "sysinternals"

Когда вы запустите "PsList -t", вы увидите список процессов с дочерними отступами от левого поля. Вот фрагмент кода:

sample output

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

...