我最近开始学习VB.NET,我想知道是否有一种简单的方法可以杀掉VB.NET应用程序使用的所有进程,比如我已经创建了一个ping的表单一个给定的IP地址,这个应用程序创建一个进程cmd.exe
并发送ping参数,这反过来创建以下进程:
如果我Kill ()
主要流程会导致cmd.exe
而不是conhost.exe
或ping.exe
,我是否还需要手动杀死这些流程?通过杀掉主进程,它不会自动杀掉关联的进程吗?如果这是有道理的。我不明白的另一件事是,我尝试使用Close ()
,但似乎没有任何事情发生,所有进程都继续运行。我希望能够让用户关闭表单并关闭/终止所有关联进程。
答案 0 :(得分:1)
使用System.Net.NetworkInformation.Ping类来执行ping更好 <(如Hans Passant所述)。
通常,如果您使用proc = System.Diagnostics.Process.Start(...)
,则应该能够使用proc.kill
终止进程及其子进程。但是,进程可能会启动不会立即以kill
终止的其他进程。由于多种原因,手动终止剩余进程是个坏主意。