19,612
社区成员
发帖
与我相关
我的任务
分享
#!/bin/sh
processcount=`ps -ef|grep searchd|grep -v grep|wc -l`
if [ $processcount -ne 1 ]; then
processno1=`pgrep searchd`
sleep 2
processno2=`pgrep searchd`
processcount=`ps -ef|grep searchd|grep -v grep|wc -l`
if [ $processno1 = $processno2 ]&&[ $processcount -gt 1 ]||[ $processcount -gt 5 ]; then
echo "[`date`]-processcount=$processcount"
echo "[`date`]-processno1=$processno1"
echo "[`date`]-processno2=$processno2"
pgrep searchd |while read line
do
echo "[`date`]-not running one:$line"
kill -9 $line
done
sleep 1
/usr/local/coreseek/bin/searchd -c /usr/local/coreseek/bin/csft2.conf
else
echo "[`date`]-nomal processes1 :"
echo -n
echo "[`date`]-$processno1"
echo "[`date`]-nomal processes2 :"
echo -n
echo "[`date`]-$processno2"
fi
else
echo "[`date`]-only one:`pgrep searchd`"
fi