由于某些原因STAF句柄可能会丢失导致该进程死掉,利用该shell脚本检查该进程是否存在,如果不存在,则自动开启,protect.sh脚本代码如下:
#!/bin/bash
while true
do
ProcNumber=`ps -ef |grep STAF|grep -v grep|wc -l`
if [ $ProcNumber -le 0 ];then
cd /usr/local/staf/bin
nohup ./STAFProc &
sleep 5
fi
PingResult=`staf localhost ping ping`
if [[ $PingResult =~ "PONG" ]];then
echo "staf proc can be used normally"
else
time=$(date "+%Y-%m-%d %H:%M:%S")
echo "$time $PingResult" >> /home/shell/protect.log
StafNumber=`ps -ef |grep STAF|grep -v grep|awk '{print $2}'`
kill -9 $StafNumber
cd /tmp
rm -f DataDir_*.tmp
rm -f STAF*
fi
done
~
写完这个很简单的shell脚本 后,开机并不能自动执行,要想开机自动执行该脚本,需做如下操作:
说明:该脚本用来保护staf进程,保证其永远为开启的状态,将该脚本放到/home/shell下,然后再在/etc/rc.d/rc.local里面添加条目:
1、sh /home/shell/protect.sh 就可以实现开机启动了
2、chmod +x /etc/rc.d/rc.local
说明:
LINUX下不同的文件类型有不同的颜色,
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
1、
chmod +x 将普通文件(灰色)+x之后变为绿色
chmod -x 将可执行文件(绿色)变为普通文件(灰色)
2、chmod +x 和 chmod u+x的区别
就是设置谁拥有执行这个文件权限chmod +x 和chmod a+x 是一样的,一般没有明确要求,可以就用chmod +x
u 代表用户.
g 代表用户组.
o 代表其他.
a 代表所有.