gpt4 book ai didi

python - 在单独的线程中从 python 启动 csh 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:52 25 4
gpt4 key购买 nike

我正在尝试在单独的线程中从 python 运行 csh 脚本,即我不想等待脚本完成。

我正在尝试这样做:

subprocess.call(['my_script.csh -w switch'])
print 'Job spawned..'

问题是在 csh 脚本完成后打印该消息。有没有办法只生成 csh 作业并继续 python

最佳答案

您正在寻找subprocess.Popen :

from subprocess import Popen
process = Popen(['sleep', '5'])
print 'job spawned'
process.wait()
print 'job complete'

为了澄清你的术语,“线程”是单个程序中的一行执行,而“进程”是一个正在运行的程序(可能有多个线程)。当您启动一个程序时,它几乎总是一个单独的进程,这意味着它独立且异步运行(不在同一线程上)。这里的问题是 subprocess.call 是为最常见的用例编写的,您可能希望等待被调用的进程完成然后再继续。 subprocess.Popen 是一个为您提供更多功能的类。它不会等待进程完成,除非您使用 wait() 方法告诉它。

关于python - 在单独的线程中从 python 启动 csh 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31734866/

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