gpt4 book ai didi

python - 在终端中停止从 Python 启动的程序

转载 作者:行者123 更新时间:2023-12-01 04:53:29 28 4
gpt4 key购买 nike

我有一个 python 脚本,它从系统启动另一个程序(shell 脚本实际上调用程序本身,tag-bm.sh):

def tag(obt_path, corpora_path):
print corpora_path
os.system('cd ' + obt_path + ' && ./tag-bm.sh ' + corpora_path + ' > ' + corpora_path + '.obt')
os.system('pwd')

有时这个程序会进入无限循环,这会给我的主程序带来问题。有没有办法进行设置,以便如果程序没有在设定的时间内结束,python 就会中断它?

最佳答案

找出命令的名称,例如,如果它是 cp,那么您可以使用 pgrep cppidof cp< 获取命令的 pid/。请注意,这将返回所有 cp 进程的 pid。启动命令后立即调用 pgrep ,它应该位于顶部,因此在这种情况下 pid 为 pgrep cp | head -n1 或 pidof cp |剪切-s -f1 。存储此变量并在稍后需要的时间终止它。

或者,您可以使用超时运行命令,您可以添加一个值,之后命令将自动接收终止信号。用法示例:timeout 500s cp large_file destination_file。在这种情况下,CP将在500秒后被杀死。 “人超时”了解更多信息。

关于python - 在终端中停止从 Python 启动的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946848/

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