小编Rav*_*dra的帖子

python subprocess - 分离进程

我有一个 python 脚本af_audit_run.py,它request_audit.py通过调用另一个 python 脚本subprocess

第二个脚本request_audit.py在后台调用另一个子进程并返回请求 ID。

问题是第一个脚本af_audit_run.py(应该在第二个脚本返回请求 id 后立即退出)正在等待整个后台进程完成。有没有什么方法可以强制第一个脚本在请求 id 返回后立即退出?

af_audit_run.py-- 使用以下方法等待结果communicate

p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, 
stderr=subprocess.PIPE)
result, error = p.communicate()
print(result.decode('utf-8'))
print(error.decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

request_audit.py-- 不等待,只需分离子进程(第三个 python 脚本)并返回请求 id:

subprocess.Popen(cmd, shell=True, stdout=None, stderr=None, close_fds=True)
print(request_id)
Run Code Online (Sandbox Code Playgroud)

环境:Linux

python subprocess

3
推荐指数
1
解决办法
4192
查看次数

标签 统计

python ×1

subprocess ×1