微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python子进程似乎无法运行

如何解决Python子进程似乎无法运行

我运行此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()

[EDIT]实际上ps没有显示其他进程,因此看起来线程终止了……但是如何以及为什么?

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

解决方法

当父级退出时,Popen子进程中的

死亡,您可以在第一个脚本的末尾添加p.wait()以防止父级退出。 这个链接也很有用,看看吧! subprocess gets killed even with nohup

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。