这是我用来运行以下exe程序的代码。我怎么能在运行之后结束这个过程?
Process.Start(@"C:\Bot-shortcut\DIE1.exe");
Process.Start(@"C:\Bot-shortcut\DIE2.exe");
Process.Start(@"C:\Bot-shortcut\DIE3.exe");
答案 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();