svc

Управљање сервисима
git clone https://git.sr.ht/~strahinja/svc
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

metalog (861B)


      1 #!/bin/sh
      2 
      3 svc=metalog
      4 svcbin=/bin/metalog
      5 
      6 . /bin/svc.d/default/${svc}
      7 
      8 PID=''
      9 if [ -z "${PIDFILE}" ]; then
     10 	exit 2
     11 elif [ -e "${PIDFILE}" ]; then
     12 	PID=$(< "${PIDFILE}")
     13 fi
     14 
     15 case $1 in
     16 	-e)	if [ -z "${PID}" ]; then
     17 			exit 2
     18 		elif [ -z "$(ps -ef | awk '{print $2}' | \
     19 			grep "${PID}")" ]; then
     20 			exit 2
     21 		fi;;
     22 	-s)	svc -e ${svc}
     23 		case $? in
     24 			0)	exit 1;;
     25 			2)	${svcbin} ${PARAMS} >/dev/null 2>&1 &
     26 				if [ -n "${STARTDELAY}" ]; then
     27 					/bin/usleep "${STARTDELAY}"
     28 				fi
     29 				svc -e ${svc};;
     30 			*)	;;
     31 		esac;;
     32 	-k)	svc -e ${svc}
     33 		case $? in
     34 			2)	exit 1;;
     35 			0)	kill "${PID}" >/dev/null 2>&1
     36 				if [ -n "$(ps -ef | awk '{print $2}' | \
     37 					grep "${PID}")" ]
     38 				then
     39 					kill -9 "${PID}" >/dev/null \
     40 						2>&1 || exit 2
     41 				fi
     42 				rm "${PIDFILE}" 2>/dev/null
     43 				exit 0;;
     44 			*)	;;
     45 		esac;;
     46 	-r)	svc -k ${svc}
     47 		svc -s ${svc};;
     48 	*)	exit 2;;
     49 esac