我有一个潜在的无限python“while”循环,即使在主脚本/进程执行完成之后,我也希望它继续运行。此外,如果需要的话,我希望以后能够从unix CLI中终止这个循环(即kill-SIGTERM PID),因此也需要循环的PID。我该如何做到这一点?谢谢!你知道吗
回路:
args = 'ping -c 1 1.2.3.4'
while True:
time.sleep(60)
return_code = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE)
if return_code == 0:
break
Popen
返回具有pid
的对象。根据doc您需要关闭
shell=True
来获取进程的pid,否则它会给出shell的pid。你知道吗在python中,父进程试图在退出时杀死所有的守护子进程。但是,您可以使用
os.fork()
创建一个全新的进程:相关问题 更多 >
编程相关推荐