在嵌入式Linux系统中交叉编译一个socket服务器、socket服务存在意外进程结束的现象,下面通过shell脚本完成对socket服务程序的监控。
一、PS命令查看Linux程序进程
二、shell脚本
利用PS命令查看server进程的状态,如死亡、就重新启动。做一个死循环轮训。
#########################################################################
# File Name: restart.sh
# Author: fluency
# mail: 1005068694@qq.com
# Created Time: Mon 13 Nov 2017 03:22:06 PM CST
#########################################################################
#!/bin/bash
while true
do
procnum=` ps |grep "server"|grep -v grep|wc -l`
if [ $procnum -eq 0 ]; then
/home/server/server&
fi
sleep 30
done
30秒去轮询这个这个进程。死亡就继续重启。
三、效果
PS查看进程号,此时procnum = 3 然后用kill 命令杀死进程之后
然后脚本检测到后,进而重启。这时server的进程号已经变化。这样server服务器的进程就完成的死亡重启的监控。