![使用 crontab 检查屏幕](https://linux22.com/image/1435000/%E4%BD%BF%E7%94%A8%20crontab%20%E6%A3%80%E6%9F%A5%E5%B1%8F%E5%B9%95.png)
目前,我正在使用 Debian 和以下 cronjob 来在重启时显示屏幕:
@reboot screen -dmS app1 /home/app1
@reboot screen -dmS app2 /home/app2
问题是,有时应用程序无法运行,并且屏幕会话被终止。屏幕是否有任何方法可以检查此会话是否正常工作,如果不工作,是否要再次运行它,每 10 分钟使用一次 cron(或类似方法)?
答案1
我会按照以下思路写一个脚本:
#!/bin/bash
APP=$1
NAME=$2
screen -ls 2>&1 | grep ".$NAME" > /dev/null
if [ $? != 0 ]; then
screen -dmS $NAME $APP
fi
像这样使用 -<script-name> app1 /home/app1
它将查找具有给定名称的正在运行的屏幕会话(用于执行用户),如果找不到,它将生成一个新的。