gpt4 book ai didi

python - 在新进程中执行 Bash 命令

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:39 26 4
gpt4 key购买 nike

我需要从 bash 命令获取信息,这需要几秒钟的时间。我希望程序的其余部分继续执行,直到获得返回码。我尝试使用多处理来完成此操作,但尽管控制台打印了正确的返回代码,但我无法获取子进程的返回代码。

from multiprocessing import Process, Value
import subprocess

num = Value("d", 0.0)

class foo(object):
def __init__(self):
self.createProcess()

def createProcess(self):
p = Process(target=self.Process, args=(num,))
p.start()
...Do Stuff here in parallel...

def Process(self,n):
somebashParam = int(n.value)
p = subprocess.Popen("some -command"+str(somebashParam),shell=True)
out, err = p.communicate()
n.value = p.returncode
  1. 为什么控制台打印出正确的返回码,但我却抓不到它?
  2. 在另一个新进程中启动子进程对我来说似乎很奇怪。有更好的办法吗?

最佳答案

外部进程自动并行运行。如果您只对返回代码感兴趣,则不需要任何其他代码:

n = 23
process = subprocess.Popen(["some", "-command", str(n)])
while process.poll() is None:
do_something_else()
result = process.wait()

关于python - 在新进程中执行 Bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41530992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com