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

发布于 2024-10-31 13:32:52 字数 592 浏览 1 评论 0原文

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

例如:

main.py 运行并将一些输出打印到控制台。然后它会生成 sub.py 来启动一个新进程。一旦 main.py 生成了 sub.py,它应该终止,而 sub.py 继续运行。

谢谢。

编辑:

当我运行 main.py 时,它会打印“main.py”,但不会打印任何其他内容,并且 sub.py 不会启动。

主.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.")

子.py

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

I need to spawn a separate python process that runs a sub script.

For example:

main.py runs and prints some output to the console. It then spawns sub.py which starts a new process. Once main.py has spawned sub.py it should terminate whilst sub.py continues to run.

Thank you.

Edit:

When I run main.py it prints 'main.py' but nothing else and sub.py doesn't launch.

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.")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

囍笑 2024-11-07 13:32:52

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.

execfile

The straightforward approach:

execfile('main.py')

Subprocess

Offers fine-grained control over input and output, can run processes in background:

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文