gpt4 book ai didi

python - 在 Python 中杀死一个程序

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

我有一个循环,我使用以下命令运行已安装的程序 os.system("program + arguments")将循环中的每个元素作为参数传递给程序。程序的运行时间根据参数而变化,有时需要一秒钟,有时需要几个小时。因此,我想在程序运行超过一个小时时终止该程序,然后继续执行循环中的下一个元素。

我尝试在这里使用第二个答案(因为我不明白如何使用最佳答案)Python: Run a process and kill it if it doesn't end within one hour通过替换 os.sytem("program+arguments")subprocess.Popen(["program+arguments"])但它给出了 "No such file or directory error" ,我确信我正确地传递了参数,你能帮助我如何应用这样的解决方案吗?

这是错误消息,

subp = subprocess.Popen(["home/admin/Desktop/molblocks/fragment -i " + OrgDir+"/"+compsmi + " -r "+ RulesPath + " -e -n "+str(FragLength) + " -o " + compsmi + "_frag.txt"])

File "/usr/lib64/python2.7/subprocess.py", line 709, in __init__
errread, errwrite)

File "/usr/lib64/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception

最诚挚的问候!

最佳答案

在 Unix 上,如果 args 是字符串,则该字符串被解释为要执行的程序的名称或路径。但是,只有在不向程序传递参数的情况下才能完成此操作。 (当 shell 不为 True 时)

https://docs.python.org/2/library/subprocess.html#subprocess.Popen .

试试这个:

subp = subprocess.Popen(["home/admin/Desktop/molblocks/fragment", "-i", (OrgDir+"/"+compsmi), "-r", RulesPath, "-e", "-n", str(FragLength), "-o", (compsmi+"_frag.txt")])

关于python - 在 Python 中杀死一个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40313364/

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