gpt4 book ai didi

python - 织物运行叉

转载 作者:太空宇宙 更新时间:2023-11-04 01:40:12 24 4
gpt4 key购买 nike

我想使用 Fabric.api.run 直接在远程框中启动应用程序。由于应用程序需要很长时间才能完成,我希望能够 fork 一个子进程,这样我就不需要等待很长时间。

代码如下:

from fabric.api import run
....

run("python ./myApp.py --fork=True >myApp.log 2>&1")

我使用以下代码启用代码的 fork :

if settings.fork:
child_pid = os.fork()
if child_pid == 0:
print "Starting Child Process: PID# %s" % os.getpid()
else:
print "Terminating Parent Process: PID# %s" % os.getpid()
os._exit(0)

问题是在我执行运行命令后,我进入了远程框,发现程序由于某种不明原因退出了,我检查了日志文件,那里什么也没有。

有人可以告诉我如何解决这个问题吗?非常感谢!!

最佳答案

谈到 fork ,除了许多其他改进之外,还有一个支持并行执行的 Fabric fork 。

http://tav.espians.com/fabric-python-with-cleaner-api-and-parallel-deployment-support.html

根据您的工作,您可能需要考虑这一点。


除此之外,我想你想使用multiprocessing:

from multiprocessing import Process

def f(name):
print 'hello', name

if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
#p.join()

http://docs.python.org/library/multiprocessing.html

关于python - 织物运行叉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922855/

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