关于守护进程daemon

对于c++的应用,我目前采用的是写了一个c++的小程序

#include <cstdlib>
int main(){
	while(true){
		system("需要启动的程序加参数");
	}
}

网上也有说这么写的

while( 1 )
{
    if( kill(pid_to_be_check, 0) < 0 ) system("重启命令");
    sleep(10);
}

当然我们也可以写个shell脚本

while true
do
    ps -ef|grep -v grep|grep yourexe
    if [ $? -ne 0 ]; then
        重启你的程序
    fi
    sleep 10
done


这种方式类似上面第二种方式,每隔10秒检查一次,因此理论上也可以按照上面第一种方式来编写脚本。

传统意义上的daemon一般是保证程序后台运行,加入service的 /etc/rc.d/init.d/中 可以让程序随系统启动,在这个脚本中的启动部分再加入启动上面脚本的脚本,就可以使得程序崩溃后再次自动运行。

那如果我们还想让程序一更新就自动重启呢。。。

用incron,具体用法回头再加吧



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值