如何使用Python,在Windows下保证父进程退出时,子进程同样退出
1个回答
展开全部
如何使用Python,在Windows下保证父进程退出时,子进程同样退出:
有两种办法:
1.一种办法是在父进程fork出子进程的时候把子进程pid写入一个文件中,这种父进程捕捉到sigkill或者sighup信号的时候读取文件kill 子进程们的pid。
2.还有一种方法就是子进程定时调用os.getppid()来判断是否自己已经成为了僵尸进程,如果是赶紧把事情做完正常结束掉。
第一种方法暴力有效,第二种方法更加安全。
按照unix设计哲学,进程是程序执行的最小单元,而他们是天生平等的,没有父进程权利就大一些就能剥夺子进程的生命周期,父进程没了,init进程就要喜当爹。所以你的问题的重点不在于父进程结束子进程,再于一个进程如何结束另一个进程,从这个角度(ipc)上去探索,方法还是很多的,发挥想象力吧。
有两种办法:
1.一种办法是在父进程fork出子进程的时候把子进程pid写入一个文件中,这种父进程捕捉到sigkill或者sighup信号的时候读取文件kill 子进程们的pid。
2.还有一种方法就是子进程定时调用os.getppid()来判断是否自己已经成为了僵尸进程,如果是赶紧把事情做完正常结束掉。
第一种方法暴力有效,第二种方法更加安全。
按照unix设计哲学,进程是程序执行的最小单元,而他们是天生平等的,没有父进程权利就大一些就能剥夺子进程的生命周期,父进程没了,init进程就要喜当爹。所以你的问题的重点不在于父进程结束子进程,再于一个进程如何结束另一个进程,从这个角度(ipc)上去探索,方法还是很多的,发挥想象力吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询