Ubuntu

如果程序執行超過一小時 bash 腳本,則終止程序

  • November 7, 2022

我有這個 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

而不是使用pgrep來查找程序,一個更簡單的解決方案可能是在timeout命令 (它是 GNU 的一部分coreutils)的控制下執行 Python 腳本。然後,您可以將 Python 腳本的最大執行時間限制為 1 小時:

timeout 1h /home/user/crawler/panel/crawler/scans.py

引用自:https://serverfault.com/questions/1115016