自我监督的脚本

有没有人写过自我监视脚本,可以分享它的解决方式? 我有一个路由器上的DD-WRT,并且只能创build一个启动脚本。 问题是不能运行。 如果我通过telnetlogin并手动启动,那么效果很好。 所以我需要添加一个cron规则来运行它,但是不能多运行一次。 我正在考虑使用:

if [`ps | grep [c]ustom.sh` -gt 1]; then exit; else ... fi 

你知道还有其他的方法吗?

您可以使用保留在内存中的锁(通常是/ tmp是一个tmpfs安装),它将在引导时被删除:

 [ ! -f /tmp/rc.local.lock ]&&touch /tmp/rc.local.lock||exit 

我认为问题在于,与ssh shell(例如PATH …)相比,脚本中没有可用的相同环境。 您应该将脚本的输出写入日志文件中。 只需在脚本的开头添加这一行。

 exec >/tmp/rc.local.log 2>&1