我正在尝试使用C ++程序打开多个并行进程。其中四个必须并行运行。但是当我的C ++程序关闭时,我想要杀死每个进程。这是我的尝试:
system("python okcsend.py & PID1=$! python okccnysend.py & PID2=$! python okc.py & PID3=$! python okccny.py & PID4=$!");
当试图杀死他们时,我就是这样做的:
system("kill PID1; kill PID2; kill PID3; kill PID4");
但是,这就是我得到的:
sh: 1: kill: Illegal number: PID1
sh: 1: kill: Illegal number: PID2
sh: 1: kill: Illegal number: PID3
sh: 1: kill: Illegal number: PID4
这样做的正确方法是什么?
感谢。
答案 0 :(得分:0)
您需要分别从每个进程中取回PID。
伪代码:
pid1 = system("python okcsend.py & echo $!)
pid2 = system("python okcsend.py & echo $!)
pid3 = system("python okcsend.py & echo $!)
pid4 = system("python okcsend.py & echo $!)
然后你可以做类似的事情:
system("kill " + pid1 + "; kill " + pid2 + "; kill " + pid3 + "; kill " + pid4 + ";");