VB.NET - 杀戮进程

时间:2015-02-09 22:57:32

标签: vb.net process

我最近开始学习VB.NET,我想知道是否有一种简单的方法可以杀掉VB.NET应用程序使用的所有进程,比如我已经创建了一个ping的表单一个给定的IP地址,这个应用程序创建一个进程cmd.exe并发送ping参数,这反过来创建以下进程:

  • cmd.exe的
  • conhost.exe
  • PING.EXE

如果我Kill ()主要流程会导致cmd.exe而不是conhost.exeping.exe,我是否还需要手动杀死这些流程?通过杀掉主进程,它不会自动杀掉关联的进程吗?如果这是有道理的。我不明白的另一件事是,我尝试使用Close (),但似乎没有任何事情发生,所有进程都继续运行。我希望能够让用户关闭表单并关闭/终止所有关联进程。

1 个答案:

答案 0 :(得分:1)

使用System.Net.NetworkInformation.Ping类来执行ping更好 <(如Hans Passant所述)。

通常,如果您使用proc = System.Diagnostics.Process.Start(...),则应该能够使用proc.kill终止进程及其子进程。但是,进程可能会启动不会立即以kill终止的其他进程。由于多种原因,手动终止剩余进程是个坏主意。