我有一个控制台应用程序的主线程,它以这种方式运行很少的外部进程
private static MyExternalProcess p1;
private static MyExternalProcess p2;
private static MyExternalProcess p3;
public void Main() {
p1 = new MyExternalProcess();
p2 = new MyExternalProcess();
p3 = new MyExternalProcess();
p1.startProcess();
p2.startProcess();
p3.startProcess();
}
public static void killEveryoneOnExit() {
p1.kill();
p2.kill();
p3.kill();
}
class MyExternalProcess {
private Process p;
...
public void startProces() {
// do some stuff
PlayerProcess = new Process();
....
PlayerProcess.Start();
// do some stuff
}
public void kill() {
// do some stuff
p.Kill();
}
}
我需要做的是:当主线程被中断(退出按钮或 ctrl+c)时,其他进程应该被杀死。如何在 CTRL+C 或退出 (X) 按钮上触发我的方法 killEveryoneOnExit?