Process.Close()没有终止创建的进程,c#

Ani*_*oel 27 c# process

我编写了一个C#应用程序,它使用System.Diagnostics.Processclass来创建一个进程

 Process P1 = new Process();
 P1.FileName = "myexe.exe";
Run Code Online (Sandbox Code Playgroud)

和其他适当的设置.

我把它链接到运行大约10分钟的exe文件.(我正在编写程序来测量程序的运行时间).现在介于两者之间我想中止正在运行的进程.所以我在取消按钮的事件中写道,

 Process.Close();
Run Code Online (Sandbox Code Playgroud)

但是在任务管理器中我仍然看到myexe.exe正在运行,它不会被中止.该怎么办?

Jon*_*eet 53

Process.Close()并不意味着中止进程 - 它只是为了释放关于进程和相关资源的"本地"视图.

我认为你的意思是Process.Kill()Process.CloseMainWindow().就个人而言,我试图找到一种更优雅的方式来关闭它.

  • 那会是什么?刷新所有流,然后发送内部中止方法,如果底层的exe支持它? (5认同)
  • 我通常会尝试向应用程序表明"请立即关闭",而不是仅仅将其删除.如果您控制应用程序,您可以让它监视其父进程消失. (5认同)