Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python子进程没有';它似乎不起作用_Python_Process - Fatal编程技术网

Python子进程没有';它似乎不起作用

Python子进程没有';它似乎不起作用,python,process,Python,Process,我运行此python文件以生成一个进程: import os import pwd import subprocess import sys p = subprocess.Popen(['python', 'process_script.py'], cwd="/execute", stdout=subprocess.PIPE, stderr=sub

我运行此python文件以生成一个进程:

import os
import pwd
import subprocess
import sys


p = subprocess.Popen(['python', 'process_script.py'],
                     cwd="/execute",
                     stdout=subprocess.PIPE,
                     stderr=subprocess.STDOUT)
process_script.py如下所示:

import time
import random
import string
import helper

#

def run():
    while True:
        filename = "/execute/" + "".join([random.choice(string.ascii_letters) for j in range(8)]) + ".txt"

        helper.execute(f"echo foo > {filename}")

        time.sleep(10)

#

run()
[编辑]事实上ps没有显示其他进程,所以看起来线程终止了。。。但如何以及为什么


如果我直接运行process_script.py,则会创建文件。

在Popen中,当父进程退出时,子进程将死亡。您可以在第一个脚本末尾添加
p.wait()
,以防止父进程退出。 此外,此链接非常有用,请查看!

即使父进程被杀死,也可以保持该进程处于打开状态吗?在提供的链接中,他们讨论了这个用例