shell脚本实现程序重启
来源:互联网 发布:python视频教程 廖雪峰 编辑:程序博客网 时间:2024/06/02 05:44
最近做的ipc端HLS推流不稳定偶尔要宕机,而云服务器又希望能随时连上ipc。在ipc端有没有supervisor这种工具,就需要自己想下怎么然异常退出的程序重启起来。经过查阅网络资料,通过shell即可实现。
#!/bin/shhelp(){ echo "Usage: $0 <process_name>" exit 0}# 参数范围检查if [ "$#" != 1 ]; then helpfi #检查进程实例是否已经存在while [ 1 ]; do PID=`pgrep ${1}` if [ -z "$PID" ] then echo "restart process: $1 and date is: `date`" exec ./${1} & fi #循环检测时间 sleep 2Done
一些说明
1 #!/bin/sh
Shell脚本中用#表示注释,相当于C语言的//注释。但如果#位于第一行开头,并且是#!(称为Shebang)则例外,它表示该脚本使用后面指定的解释器/bin/sh解释执行
2.函数定义
shell中函数的定义格式如下:
函数名(){ command1 commandN [ return value ]}
用函数时可以向其传递参数。在函数体内部,通过
3 .
echo 打印命令
exit 为退出脚本
4 if [] then else fi 语句
在Shell中用if、then、elif、else、fi这几条命令实现分支控制。
If []then xxx(满足条件执行语句)else Xxxfi
如果两条命令写在同一行则需要用; 如果一行只写一条命令就不需要写;号了
:是一个特殊的命令,称为空命令,该命令不做任何事。
代码中实现的功能为:
$#:添加到Shell的参数个数。如果参数不是1即调用 help
5.循环
While[循环条件]do .....Done 之间为循环内容
6 pgrep
pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
PID=pgrep ${1}
查找参数1传入进程名 并将并赋值给PID
if [ -z “$PID” ]
-z 字符串长度为0 即为真,即pgrep 没有找到参数传入进程名的pid,调用exec重新执行目标程序。
阅读全文
0 0
- shell脚本实现程序重启
- 用shell脚本实现监控程序自动重启
- 用shell脚本实现监控程序自动重启
- 用shell脚本实现监控程序自动重启
- 用shell脚本实现监控程序自动重启
- shell脚本实现互动式重启
- 程序崩掉后 自动重启的shell脚本
- Linux上java程序启动、关闭、重启shell脚本
- SHELL脚本实现服务宕机监控自动重启
- shell脚本重启tomcat
- shell 脚本重启tomcat
- shell 重启tomcat 脚本
- tomcat重启shell脚本
- shell 重启tomcat 脚本
- shell 实现的自动无限重启脚本,出错自动重启服务
- 程序自动重启脚本
- tomcat的重启shell脚本
- 利用linux shell脚本 重启tomcat
- 明天的程序员
- 375. Guess Number Higher or Lower II
- Unity3D-各个组件/游戏对象作用
- 2017CCPC杭州站打铁总结
- 2013长春regional题目详解
- shell脚本实现程序重启
- Hibernate一对多关系映射(双向映射)
- first step
- PostgreSQL 数据类型
- 设计模式之禅
- 1019. 数字黑洞 (20)
- poj3321-dfs序&树状数组&dfs序模板题-Apple Tree
- 标签的基本语法
- ubuntu qq