2013-10-20 116 views
1

这是我用来运行下面的exe程序的代码。我运行后如何结束这3个过程?如何在运行后停止进程?

Process.Start(@"C:\Bot-shortcut\DIE1.exe"); 
Process.Start(@"C:\Bot-shortcut\DIE2.exe"); 
Process.Start(@"C:\Bot-shortcut\DIE3.exe"); 

回答

0

可以使用Kill

Process myProcess = new Process(@"C:\Bot-shortcut\DIE1.exe"); 

myProcess.Start(); 

//After Some Codes 

myProcess.Kill(); 
0

的Process.Start返回您已经启动了流程实例结束你的过程。

将其存储在变量中,并使用Process.Kill方法在完成该操作后终止该进程。

Process process = Process.Start(@"C:\Bot-shortcut\DIE1.exe"); 
process.Kill(); 
1

您必须按名称获取进程,然后停止它。 下面是从MSDN代码片段:

Process[] myProcesses; 
    // Returns array containing all instances of Notepad. 
    myProcesses = Process.GetProcessesByName("Notepad"); 
    foreach (Process myProcess in myProcesses) 
    { 
     myProcess.CloseMainWindow(); 
    } 

的Process.kill()也将停止该过程,但没有任何提示。

This文章中查找细节。

+5

如果你是第一个启动它的人,你为什么会按名称获得该过程? –

0

存储过程的对象变量:

var proc1 =Process.Start(@"C:\Bot-shortcut\DIE1.exe"); 
var proc2 = Process.Start(@"C:\Bot-shortcut\DIE2.exe"); 
var proc3 = Process.Start(@"C:\Bot-shortcut\DIE3.exe"); 

,等待他们退出:

proc1.WaitForExit(); 
proc2.WaitForExit(); 
proc3.WaitForExit(); 

或者杀死他们:

proc1.Kill(); 
proc2.Kill(); 
proc3.Kill(); 
6

首先,存储过程返回的对象当你开始这个过程。

如果您想要它关闭通常,好像有人点击了关闭图标,然后使用CloseMainWindow。这模拟点击关闭图标,以便进程可以正常关闭。这总比杀死可能破坏数据的进程更可取。

如果您想立即死亡,请使用Kill。请注意,这可能会破坏数据;当你杀死它时,该进程可能已经写入了一个文件。

+2

竖起大拇指,如果你喜欢埃里克的新照片':)' –

+2

@SonerGönül:看起来更年轻,不再是一个[认真作者的脸](http://ericlippert.com/wp-content/uploads/2012/11/EricLippertHeadshot .JPG)。 –