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-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南