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