我想知道是否有任何简单的脚本可以自动重启屏蔽的后台进程。
该过程被杀死但无法创建成功的过程:(。
提前致谢! < 3
答案 0 :(得分:1)
我认为最安全(但不是最简单)的方法是创建一个cron
作业来检查进程是否正在运行,如果不是,请重新启动它。这个方法“更安全”的原因是因为如果你使用像ivanivan
建议的那样的循环并且该脚本“崩溃”,程序将不会再次重启;另一方面,通过做cron
,每分钟都会调用一次检查程序。
例如,您的cron
可以是:
* * * * * env DISPLAY=:0 /folder/testscript >/dev/null 2>&1
您的情况可能不需要env DISPLAY=:0
,或者可能需要echo $DISPLAY
,具体取决于您的脚本(注意:您可能需要根据您的情况进行调整,运行testscript
以查找您的案件的变量)。
例如,您的#!/bin/bash
testvar="$(ps aux | grep -s "mainscript" | grep -sv "grep -s mainscript")"
if [ -z "$testvar" ]; then nohup /folder/mainscript &; fi
#sleep and run second test
sleep 30
testvar="$(ps aux | grep -s "mainscript" | grep -sv "grep -s mainscript")"
if [ -z "$testvar" ]; then nohup /folder/mainscript &; fi
exit 0
可以是:
testscript
在上面的示例中,mainscript
会每分钟检查id
是否正在运行(并在必要时重新启动)。