1.有三个py文件并用pyinstaller进行封装a.exe;b.exe;c.exe
a.exe是一个图形化界面程序,通过subprocess调用b.exe,代码如下:
child = subprocess.Popen("b.exe %s -d %s -t %s "%(value,key1,key2))
b.exe是主程序,在b.exe得到pid并通过subprocess传递给c.exe,代码如下:
pid = os.getpid()
ch = subprocess.Popen("c.exe %d"%pid)
c.exe是一个监控程序,用于监控主程序b.exe是否在正常运行。
现在的问题是,我在a.exe这个图形化界面中按下一个stop按钮,需要终止b.exe。
但是封装之后,会产生两个b.exe进程,child返回的是内存小的那个进程,只杀死这个进程并不能终止b.exe的运行。
请问各位大神,有没有其他的好方法呢?
看完需求我的理解其实就是如何在主进程里面kill掉子进程(不知道理解的对不对),试试下面的方法: