Python:产生具有几个要求的子进程
Posted
技术标签:
【中文标题】Python:产生具有几个要求的子进程【英文标题】:Python: spawn subprocess with several requirements 【发布时间】:2013-10-10 23:14:07 【问题描述】:使用 python 2.6 或 2.7,我需要生成一个子进程:
必须分离 它的输出必须重定向 生成的 python 进程必须打印子进程的 PID,然后退出。我浏览了各种模块(以及各种 *** 帖子),似乎所有模块都与这些要求中的一个或多个相冲突。例如。 os.system()
= 没有 pid;
subprocess.*
= 没有重定向或没有分离。
【问题讨论】:
【参考方案1】:我假设你的意思是你希望你的脚本在启动子进程后继续运行,对吗?如果是这样,我相信你必须分叉,在子进程中启动子进程并在那里捕获它的输出。
import os
import subprocess
cmd = 'ls'
if os.fork() == 0:
process = subprocess.Popen(cmd, shell=True, stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
print "subprocess pid: %d" % process.pid
stdout = process.communicate()
print stdout
else:
print 'parent...'
【讨论】:
以上是关于Python:产生具有几个要求的子进程的主要内容,如果未能解决你的问题,请参考以下文章