Debian:在PuTTY中自动终止时重启进程

时间:2016-12-14 15:57:35

标签: linux terminal debian putty

我想知道是否有任何简单的脚本可以自动重启屏蔽的后台进程。

该过程被杀死但无法创建成功的过程:(。

提前致谢! < 3

1 个答案:

答案 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是否正在运行(并在必要时重新启动)。