При запуске процесса в VB.Net я хотел бы иметь возможность идентифицировать его, чтобы впоследствии убить его и всех его потомков, если это необходимо.
Я запускаю свой процесс следующим образом:
Dim mainProcessHandler As New ProcessStartInfo()
Dim mainProcess As Process
mainProcessHandler.FileName = "something_01out18.bat"
mainProcessHandler.Arguments = "-d"
mainProcessHandler.WindowStyle = ProcessWindowStyle.Hidden
mainProcess = Process.Start(mainProcessHandler)
Если я сделаю
mainProcess .Kill()
закроет все открытые окна cmd. Но ни один из других процессов, запущенных сценарием bat.
Я почти уверен, что ОС дает идентификатор моему процессу, когда я его запускаю, но мне не удалось его получить. Если это не так, я не нашел и того, как самому идентифицировать процесс.
В конце дня я хотел бы перечислить все дочерние процессы, уничтожить их, уничтожить родительский процесс, но ни один из других процессов «cmd», запущенных на ПК.
Есть ли способ сделать такие вещи?