【发布时间】:2018-09-04 11:07:53
【问题描述】:
当在 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 脚本没有启动任何其他进程。
我很确定操作系统在我启动它时会为我的进程提供一个 ID,但我没有成功获取它。如果不是这样,我也没有找到如何自己为流程提供 ID。
最后,我想列出所有子进程,杀死它们,杀死父进程,但没有其他“cmd”进程在 PC 上运行。
有没有办法做这样的事情?
【问题讨论】: