如何在运行后停止进程?

时间:2013-10-20 14:25:49

标签: c#

这是我用来运行以下exe程序的代码。我怎么能在运行之后结束这个过程?

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

5 个答案:

答案 0 :(得分:6)

首先,存储启动流程时返回的流程对象。

如果您希望它正常关闭 ,就好像有人点击了关闭图标,然后使用CloseMainWindow。这模拟了单击关闭图标,以便该过程可以正常关闭。这总是比杀死进程更可取,这可能会破坏数据。

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

答案 1 :(得分: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文章中找到详细信息。

答案 2 :(得分:0)

您可以使用Kill

结束您的流程
Process myProcess =  new Process(@"C:\Bot-shortcut\DIE1.exe");

myProcess.Start();

//After Some Codes

myProcess.Kill();

答案 3 :(得分:0)

Process.Start返回您已启动的流程实例。

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

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

答案 4 :(得分: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();