我有这个 bash 脚本,每 5 个月在 ubuntu 服务器中运行一次 python 程序,如果尚未运行,我想让它在运行超过一小时后终止程序并重新运行它,有什么帮助吗
#!/bin/bash
if pgrep -f "/home/user/crawler/panel/crawler/scans.py"
then
echo "script running"
# Command when the script is runnung
else
echo "script not running"
/home/user/crawler/env/bin/python /home/user/crawler/panel/crawler/scans.py
fi
答案1
除了使用pgrep
查找进程之外,更简单的解决方案可能是在timeout
命令 (它是 GNU 的一部分coreutils
)。然后,您可以将 Python 脚本的最大运行时间限制为 1 小时:
timeout 1h /home/user/crawler/panel/crawler/scans.py