如果运行超过一小时,则终止进程 b 脚本

如果运行超过一小时,则终止进程 b 脚本

我有这个 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

相关内容