2015-10-14 51 views
0

我想提出一个Python程序,可以说A.它是用来监视的python脚本B使用Python,我怎么启动一个独立的Python进程

当Python程序关闭,有一个出口功能通过atexit.register()注册,做一些清理,它需要重新运行python脚本B,即使python脚本A已经关闭,也需要保持运行。

的Python脚本B不能Python的脚本A的一部分

什么我需要做的,做到这一点,我已经尝试过使用类似subprocess.Popen(programBCommand)的几件事情,但似乎不起作用,因为它阻止了A关闭。

我使用的是Debian操作系统

+0

为什么你不能以更好的方式做到这一点? –

回答

0

如果脚本B需要通过一个脚本启动,并继续运行与否A完成(而不是阻止从退出),你看写UNIX守护进程。最简单的方法是使用python-daemon module来使脚本B自我守护,而不需要大量明确地修改工作目录,从父项分离等细节。

注意:守护进程,UNIX风格,与启动它的进程分离,因此您无法直接通过Popen对象(它会立即退出)从脚本A监视脚本B.您需要安排一些其他形式的跟踪,例如通过一些间接的方法来标识或传递守护进程的PID到脚本A.

相关问题