python - subprocess.popen 与 master 分离 (Linux)

标签 python linux subprocess popen

我正在尝试打开一个子进程,但让它与调用它的父脚本分离。现在,如果我调用 subprocess.popen 并且父脚本崩溃,子进程也会死掉。

我知道有几个适用于 Windows 的选项,但我还没有找到适用于 *nix 的任何选项。

我也不需要使用子进程来调用它。我所需要的只是能够调用另一个分离的进程并获取 pid。

最佳答案

对于 Linux,这根本不是问题。只是 Popen()。例如,这里有一个小dying_demon.py

#!/usr/bin/python -u
from time import sleep
from subprocess import Popen
print Popen(["python", "-u", "child.py"]).pid
i = 0
while True:
    i += 1
    print "demon: %d" % i
    sleep(1)
    if i == 3:
        i = hurz # exception

衍生出一个 child.py

#!/usr/bin/python -u
from time import sleep
i = 0
while True:
    i += 1
    print "child: %d" % i
    sleep(1)
    if i == 20:
        break

child 继续数数(向控制台),而恶魔正在异常死亡。

关于python - subprocess.popen 与 master 分离 (Linux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31482397/

相关文章:

linux - rdts 标记时间截止日期

Python字典生成

python - 查找 Pandas Series 包含包含字符的元素的位置的索引

python - 使用 Lambda 在没有主键的情况下查询 DynamoDB

linux - UNIX 中的可选命令

python - 在 python 中将输出捕获为 tty

python - 为 PyJulia 编译和使用自定义系统镜像

Linux:每行的最大值之和

Python Subprocess stdout 和 communicate()[0] 不打印终端会打印的输出

python - 尽管传递了参数列表,为什么将变量传递给 subprocess.Popen 不起作用?