我是Shell新手,需要以下脚本的帮助。
下面的是服务重启脚本,如果软终止后PID没有被终止,则尝试在其上等待1分钟的等待时间(发出软终止后脚本在后台处理某些内容),然后尝试启动服务。
我编写了for循环,但是执行时,即使没有PID或线程数,输出也如下所示。
/etc/init.d#./inventoryserver重新启动 关闭服务库存服务器 库存服务器未运行。正在跳过... 库存服务器仍在运行.....睡觉1 库存服务器仍在运行.....睡觉2
,但是永远不要在最后启动服务。如果服务仍在运行,我需要等待一分钟,然后重新启动。如果10秒钟后没有PID,则进行BUT,然后中断循环并启动服务。请先帮助并谢谢。
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.s
$0 stop
for i in {1..12}
do
if [ ${#pid} == 0 ]; then
sleep 5
echo "$SERVICE_NAME is still running..... sleeping $i"
else
echo "$SERVICE_NAME is not running..... starting service!!"
fi
done
$0 start
/etc/init.d#./inventoryserver重新启动 关闭服务库存服务器 库存服务器未运行。正在跳过... 库存服务器仍在运行.....睡觉1 库存服务器仍在运行.....睡觉2 ^ C