2024-03-29 09:31:18 发布
网友
我有一个python脚本正在运行,这将需要很长时间。我想在第一次完成后立即运行另一个脚本。让bash程序按顺序运行脚本是没有用的,因为第一个脚本已经在运行
我曾考虑过使用os.nice()来降低第二个的优先级,但这似乎非常不够
os.nice()
PS正在运行的脚本正在screen上运行,可能有多个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
提示:使用这种方法时,请记住在查找所需进程的grep之前使用grep -v grep,否则grep命令将在结果中自动计数
grep -v grep
(请温柔一点,这是我第一次尝试在这里回答问题。)
您可以从第二个脚本导入代码,并在第一个脚本结束时运行它
我想到的第一件事是在shell脚本中运行两个Python程序,因此第二个程序在第一个程序结束时启动:
如果第一个脚本已经在运行,或者在您的控制之外启动,您可以在循环中使用ps命令来检测它何时完成,然后启动第二个脚本,即第二个脚本:
提示:使用这种方法时,请记住在查找所需进程的grep之前使用
grep -v grep
,否则grep命令将在结果中自动计数(请温柔一点,这是我第一次尝试在这里回答问题。)
相关问题 更多 >
编程相关推荐