如何杀死由cmd.exe启动的进程
我正在尝试停止由 C# 中的 cmd.exe 启动的进程。例如启动记事本: cmd.exe /c 记事本。
System.Diagnostics.ProcessStartInfo("cmd.exe", "/c notepad");
当我终止进程时,cmd.exe 停止。但记事本仍然存在。我怎样才能获得记事本的句柄并停止它?
I'm trying to stop a process started by cmd.exe in c#. For example start notepad with; cmd.exe /c notepad.
System.Diagnostics.ProcessStartInfo("cmd.exe", "/c notepad");
When i kill the process the cmd.exe stops. But notepad remains. How can i get a handle for notepad and stop it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该使用自定义方法列出以 cmd 作为父进程的所有进程。
您需要首先添加 System.Management 引用。
然后简单地杀死进程树:
You should use a custom method to list all process that have cmd as parent process
You need to add System.Management reference first.
Then simply kill the process tree:
您是否考虑过直接启动
notepad.exe
而不是使用cmd.exe
?Have you considered starting
notepad.exe
directly rather than usingcmd.exe
?那么从命令行你可以使用
Well from command line you can use