如何生成一个单独的python进程?

如何生成一个单独的python进程?,python,subprocess,spawn,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=Tru

我需要生成一个单独的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.")
执行文件 直截了当的方法是:

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.

您使用的是什么操作系统?您是否从某个ide启动
main.py
?您需要向
communicate
方法输入数据。很快会编辑我的答案。谢谢。我已经在
communicate()
方法中添加了
exexfile('sub.py')
,现在它运行sub.py文件,但是在同一个控制台中,那么如何让它单独运行呢?对不起,我可能错过了一些非常简单的东西。再次感谢。>>一旦main.py生成sub.py,它应该在sub.py继续运行时终止。