我有一个复杂的控制台程序用于数据操作,这是一个痛苦的使用。C#:使用单独的.exe
我想创建一个包装类型的GUI程序,以方便易用。
现在我打开一个新线程并使用Process.Start()并捕获输出。
这个工程很好,除了一个问题,如何取消用户需求的过程?
鉴于这个过程是CPU密集型的,可以有很长的运行时间,这非常重要。
我有一个复杂的控制台程序用于数据操作,这是一个痛苦的使用。C#:使用单独的.exe
我想创建一个包装类型的GUI程序,以方便易用。
现在我打开一个新线程并使用Process.Start()并捕获输出。
这个工程很好,除了一个问题,如何取消用户需求的过程?
鉴于这个过程是CPU密集型的,可以有很长的运行时间,这非常重要。
使用Process.Kill()
方法:
foreach (var process in Process.GetProcessesByName("whatever"))
{
process.Kill();
}
如果你不想杀whatever
所有实例,然后使用启动过程:
process = Process.Start("whatever");
然后调用当你想Kill
方法到:
process.Kill();
假设你有启动一个进程像下面
Process myProcess = Process.Start("myapp.exe");
,那么你可以关闭的过程中腾出使用
myProcess.Kill();
的OP启动过程中自己,为什么要资源
然后停止进程他麻烦再次寻找它?如果他想杀死另一个进程启动的进程,那么你的回答本来是完美的:) – Sidewinder94
好吧,那很简单。 – user6667032
所以它适用于你想要的东西?但有一件事,如果有多个“任何”进程的实例,它会杀死它们中的所有**。 – 2016-08-02 10:14:47