Linux 使用crontab命令和shell脚本守护C++程序
2021/7/29 7:07:12
本文主要是介绍Linux 使用crontab命令和shell脚本守护C++程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在使用C/C++做服务时,服务进程常常因为各种原因死掉,为此需要将服务是守护起来,保证在服务死掉的时候可以重启
1.编写shell脚本,判断服务是否在运行,如果没有运行脚本自动重启服务。以下是一个脚本示例:
#!/bin/bash CheckProcess() { #$PROCESS_NUM获取指定进程名的数目,为1返回0,表示正常,不为1返回1,表示有错误,需要重新启动 PROCESS_NUM=`ps -ef | grep "$1" | grep -v "grep" | wc -l` return $PROCESS_NUM } CheckProcess "mgm" CheckQQ_RET=$? if [ $CheckQQ_RET -le 0 ]; then export DISPLAY=:0; /usr/bin/mate-terminal -x /home/start_mgm.sh fi CheckProcess "laiserver" CheckQQ_RET=$? if [ $CheckQQ_RET -le 0 ]; then export DISPLAY=:0; /usr/bin/mate-terminal -x /home/start_laiserver.sh fi
其中定义一个CheckProccess()函数,通过ps -ef | grep "$1" | grep -v "grep" | wc -l 来获取对应传入名称的进程在系统中运行的个数。当进程个数为0时重新启动对应进程,这里我检测了mgm进程和laiserver进程,当进程个数为0的时候执行export DISPLAY=:0;和/usr/bin/mate-terminal -x /home/start_laiserver.sh语句,其中export DISPLAY=:0为在第一个桌面上启动,/usr/bin/mate-terminal -x表示使用终端启动,/home/start_laiserver.sh是用来启动aiserver进程的脚本。
2.使用crontab守护循环执行上述脚本
使用crontab可以对上述shell脚本循环执行
使用
crontab -e
命令可以编辑corntab以将步骤1中的脚本重复执行
在文件的尾部加入 * * * * * /(步骤1脚本的名称)
其中* * * * * *代表每分钟检测一次 ,五个*分别代表 分时日月年
完成后退出便可将mgm进程和aiserver进程守护起来
这篇关于Linux 使用crontab命令和shell脚本守护C++程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30[译]漫画SELinux概念
- 2024-03-29linux 移动文件
- 2024-03-28linux .so file
- 2024-03-28Linux 磁盘管理
- 2024-03-28Linux学习笔记(十三)磁盘管理(一):磁盘分区
- 2024-03-26linux 创建 文件
- 2024-03-25使用SecureCRT对Linux vim进行颜色设置
- 2024-03-202019-2020-12 20199317 《Linux内核原理与分析》 第十二周作业
- 2024-03-20Linux运维的第二周总结
- 2024-03-13how to count number of directories in linux