我正在使用 Python 通过简单地使用 Python 的“os”库来执行外部程序:
os.system("./script1") # script1 generates several log files and the most important for me is "info.log" !
os.system("./script2") # script2 uses the output from script1
问题是这些脚本在 50000 元素“for loop”中,“script1”需要至少 2 分钟才能完成它的工作(它有固定的持续时间)在前 1-2 秒我可以找出我是否需要输出数据或不通过查看“info.log”文件。然而,由于“script1”是一个已经编译好的程序,我不能修改它,我必须等到它完成。
我正在考虑 Bash 中的一种方法,它允许我同时运行两个进程:一个是启动./script1
,另一个是监视“info.log”文件中的任何变化......
如果“info.log”有已更新或更改大小,则第二个脚本应终止两个进程。
就像是:
os.system("./mercury6 1 > ./energy.log 2>/dev/null & sleep 2 & if [ $(stat -c %s ./info.log) -ge 1371]; then kill %1; else echo 'OK'; fi")
– 这不起作用...
请,如果有人知道一种方法,请告诉我!