如何使用shell检查进程是否每隔10分钟运行一小时

时间:2016-04-21 20:52:35

标签: shell

e.g。我的进程名称是test。如果我在下面使用 ps -ef | grep测试 我看到该进程正在运行。现在我想每隔10分钟检查一次,如果它成功运行一小时就打印成功。这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:1)

将命令放入shell脚本中,如果在运行shell脚本时进程正在运行,则打印"成功"。将其添加为每10分钟运行一次的cron作业:

*/10 * * * * /path/to/scriptorcommand

答案 1 :(得分:0)

任何理由只能在一小时结束时检查?

sleep 3600

# Check if process is running

答案 2 :(得分:0)

always_alive=1; 
for i in `seq 1 6`; do 
  if [ -n "`pgrep test`" ]; then 
    echo 'RUNNING'; 
  else 
    echo 'BOO'; 
    always_alive=0; 
  fi; 
  sleep 600; # 10 minutes 
done; 

if [ "$always_alive" == "1" ]; then 
  echo 'ALWAYS RUNNING'; 
else 
  echo 'NOT ALWAYS RUNNING'; 
fi