如何在运行进程后停止进程

本文关键字:进程 运行 | 更新日期: 2023-09-27 18:36:11

这是我用来运行以下exe程序的代码。运行这 3 个进程后如何结束它?

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

如何在运行进程后停止进程

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

如果您希望它正常关闭,就像有人单击了关闭图标一样,请使用 CloseMainWindow 。 这模拟单击关闭图标,以便进程可以正常关闭。这始终比终止进程更可取,因为该过程可能会损坏数据。

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

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

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

Process.kill() 也会停止进程,但没有任何提示。

在本文中查找详细信息。

您可以使用 Kill 结束您的进程

Process myProcess =  new Process(@"C:'Bot-shortcut'DIE1.exe");
myProcess.Start();
//After Some Codes
myProcess.Kill();

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

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

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

将流程对象存储为变量:

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();