[Shell] standard daemon v0.2
作者: reistlin
来源: http://www.reistlin.com/blog/430
更新时间: 2018.01
版权声明: 原创文章.转载请保留作者信息和原文完整.谢绝任何方式的摘要
#!/bin/bash # name: standard daemon v0.2 # author: reistlin # website: www.reistlin.com # date: 2017.12.30 app_name="squid" app_port="3128" app_user="squid" app_process="(squid) -f /etc/squid/squid.conf" app_run="/etc/init.d/squid start" app_pid="/var/run/squid/squid.pid" check1=`ps v -U ${app_user} | grep "${app_process}" | grep -v "grep" | wc -l` check2=`netstat -nlpt | grep ":${app_port}" | wc -l` if [ "${check1}" -eq 0 ] || [ "${check2}" -eq 0 ]; then /sbin/fuser -k ${app_port}/tcp echo "[`date "+%Y-%m-%d %H:%M:%S"`] clean ${app_name} all process" >> $HOME/crontab/${app_name}.log sleep 3 ${app_run} echo "[`date "+%Y-%m-%d %H:%M:%S"`] restart ${app_name} (PID `cat ${app_pid}`) ${app_port}/tcp service" >> $HOME/crontab/${app_name}.log else echo "[`date "+%Y-%m-%d %H:%M:%S"`] ${app_name} (PID `cat ${app_pid}`) service running" fi