如何生成单独的python进程?

时间:2011-04-10 11:59:15

标签: python subprocess spawn

我需要生成一个运行子脚本的单独python进程。

例如:

main.py运行并将一些输出打印到控制台。然后它产生sub.py,开始一个新进程。一旦main.py生成了sub.py,它应该在sub.py继续运行时终止。

谢谢。

编辑:

当我运行main.py时,它打印'main.py',但没有其他内容,sub.py也没有启动。

main.py

print "main.py"

import subprocess as sp
process=sp.Popen('sub.py', shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
out, err = process.communicate(exexfile('sub.py'))  # The output and error streams

raw_input("Press any key to end.")

sub.py

print "sub.py"
raw_input("Press any key to end.")

1 个答案:

答案 0 :(得分:1)

的execfile

直截了当的方法:

execfile('main.py')

子过程

提供对输入和输出的细粒度控制,可以在后台运行进程:

import subprocess as sp
process=sp.Popen('other_file.py', shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
out, err = process.communicate()  # The output and error streams.