当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Process.Close()没有终止创建的进程,c#》经验,为你挑选了2个好方法。

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

 Process P1 = new Process();
 P1.FileName = "myexe.exe";

和其他适当的设置.

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

 Process.Close();

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



1> Jon Skeet..:

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

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


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

2> Dave Van den..:

请改用Process.Kill.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有