繁体   English   中英

在另一个脚本结束后运行 python 脚本

[英]Run python script after another script ends

我有一个 python 脚本正在运行,这需要很长时间。 我想在第一次完成后立即运行另一个脚本。 制作一个 bash 程序来顺序运行脚本是没有用的,因为第一个已经在运行。

我曾考虑过使用os.nice()来降低第二个的优先级,但这似乎非常不够。

在已经运行的脚本完成后,如何运行一些 Python 脚本?

PS 正在运行的脚本正在一个screen运行,并且可能会打开多个screen

您可以从第二个脚本导入代码,并在第一个脚本的末尾运行它。

我想到的第一件事是从 shell 脚本中运行两个 Python 程序,所以第二个在第一个结束时开始:

    #!/bin/bash
    python -m script1.py
    python -m script2.py

如果第一个脚本已经在运行,或者在您的控制之外启动,您可以在循环中使用 ps 命令来检测它何时完成,然后启动第二个脚本:

#!/bin/bash
while [ 1 ]
do
     cnt=`ps x | grep -v grep | grep -c script1.py`
     if  [[ "$cnt" -eq 0 ]]
     then
        break
     fi
     sleep 1
done
echo "Starting second program"
python -m script2.py

Tip: when using this approach, remember to use grep -v grep before the grep that looks for the process you want, or your grep command will count itself in the results.

(请温柔;这是我第一次尝试在这里回答问题。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM