在Python中创建一个在主进程结束后启动的进程

时间:2016-05-18 12:29:26

标签: python timer process termination

我有一个名为" prog.py"的python脚本。我想添加一个功能,打开一个监视当前脚本操作的新进程。当脚本终止时,进程会识别终止,然后调用某个函数。这是一个伪代码:

while (script is active):    

    sleep(1) # check its status once a second

func()

你知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

是否有理由需要先启动其他流程?似乎您可以在第一个流程完成时仅通过execing更有效,更可靠地执行此操作。例如:

import atexit
import os

atexit.register(os.execlp, 'afterexitscript.py', 'afterexitscript.py', 'arg1', 'arg2')

当前的Python进程退出时,它将无缝地用自己的其他脚本替换自己,这不需要包含轮询循环。或者您可以使用atexit直接在主脚本中执行func,并避免新的Python启动。