实现一个简单的服务自启动shell脚本
2018-02-08 10:47
302 查看
1、准备工作:
1) 需要有一个服务本身启动的命令文件 ,如:./server.sh,server等等,这里假定为server.sh
2) 需要一个日志记录文件log.server;
2、开始编写服务自启动程序 :
注意 :
1) 该shell脚本程序也有局限性,断电就不能用了,需要手动重启脚本 ./restart.sh
2) 想要在断电后也能重启服务,请研究系统自启设置或系统任务命令 crontab,推荐一种解决方案,参见如下博客:
http://blog.csdn.net/daidaineteasy/article/details/54864776
[1].shell编程——if语句 if -z -n -f -eq -ne -lt
[2].我使用过的Linux命令之pidof -
[3].shell echo 知多少 -n, -e 主要是参数
1) 需要有一个服务本身启动的命令文件 ,如:./server.sh,server等等,这里假定为server.sh
2) 需要一个日志记录文件log.server;
2、开始编写服务自启动程序 :
vim restart.sh #该服务的自启动文件名为 restart.sh #此句可省略 #!/bin/sh #记录自启动的次数 count=0 #此处为一个while死循环,保证服务能够被及时启动 while true do #获取服务的进程id(可通过Linux命令:ps,查询该进程名server--在最后一列COMMAND) id=`pidof "server"` #如果获取到的进程ID为空,说明该线程已经挂掉 if[ !-n "$id" ] then #进程启动次数加1 count=$(($count+1)) #输出重启时间和提示信息 echo -e `date +%Y-%m-%d-%H-%M-%S` "restart server,the $count time!~~\n\n" #重启服务,并保持在后台启动 nohup ./server.sh >log.server & //后台重新启动服务 fi #保持50ms一个轮询 usleep(50000) done
注意 :
1) 该shell脚本程序也有局限性,断电就不能用了,需要手动重启脚本 ./restart.sh
2) 想要在断电后也能重启服务,请研究系统自启设置或系统任务命令 crontab,推荐一种解决方案,参见如下博客:
http://blog.csdn.net/daidaineteasy/article/details/54864776
[1].shell编程——if语句 if -z -n -f -eq -ne -lt
[2].我使用过的Linux命令之pidof -
[3].shell echo 知多少 -n, -e 主要是参数
相关文章推荐
- 如何创建一个最简单的Linux自启动服务?
- 一步一步教你实现一个简单的云服务
- 一个简单实际的Windows服务:实现本地数据上传到服务器
- android 源码中添加一个最简单的自启动的本地服务
- .NET Core微服务之路:利用DotNetty实现一个简单的通信过程
- Python(27)使用python的http,cgi模块实现一个简单的web服务
- .NET Core微服务之路:利用DotNetty实现一个简单的通信过程
- OData 1-1 入门:实现一个简单的OData服务
- Java远程调用(二)实现一个简单的服务框架
- 【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式
- binder 一个简单的c++服务的实现,与callback实现
- SpringCloud 笔记 (二)---- 简单搭建一个服务消费者,实现简单的ribbon负载均衡
- Java远程调用(二)实现一个简单的服务框架
- Gsoap搭建WebService服务的一个简单实现(windows)
- 一步一步教你实现一个简单的云服务
- 【原创】实现一个简单的邮件服务API
- binder 一个简单的c++服务的实现,与callback实现
- 简单实现一个Websocket服务
- 重温WCF之构建一个简单的WCF(一)(2)通过Windows Service寄宿服务和WCF中实现操作重载
- 实现一个简单的http请求工具类