I have the main thread of the Console application, which thus starts several external processes.
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() {
PlayerProcess = new Process();
....
PlayerProcess.Start();
}
public void kill() {
p.Kill();
}
}
I need to do the following: when the main thread is interrupted (exit button or ctrl + c), other processes must be killed. How to call killEveryoneOnExit method on CTRL + C or Exit (X) button?
source
share