diff options
| author | Lasse Luttermann Poulsen <llp@nordu.net> | 2017-08-17 11:29:49 +0200 |
|---|---|---|
| committer | Lasse Luttermann Poulsen <llp@nordu.net> | 2017-08-17 11:29:49 +0200 |
| commit | e856d50e5972a9964398b322fe4c4f57f354b481 (patch) | |
| tree | d694b0be469c06839ed60d916f3354887bf497ac /node-exporter/files/initd | |
| parent | 7c2948c0fd1f5831e2669acadb0cba48f02e7c5c (diff) | |
Minor structual fixes
Diffstat (limited to 'node-exporter/files/initd')
| -rw-r--r-- | node-exporter/files/initd | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/node-exporter/files/initd b/node-exporter/files/initd new file mode 100644 index 0000000..d482867 --- /dev/null +++ b/node-exporter/files/initd @@ -0,0 +1,100 @@ +#!/bin/bash +# +# +# +# Start on runlevels 3, 4 and 5. Start late, kill early. +# chkconfig: 345 95 05 +# +# +#!/bin/bash + +# absolute path to executable binary +progpath='##PROG##' + +# arguments to script +opts='##OPTS##' + +# binary program name +prog=$(basename $progpath) + +# pid file +pidfile="/var/run/${prog}.pid" + +# make sure full path to executable binary is found +! [ -x $progpath ] && echo "$progpath: executable not found" && exit 1 + +eval_cmd() { + local rc=$1 + if [ $rc -eq 0 ]; then + echo '[ OK ]' + else + echo '[FAILED]' + fi + return $rc +} + +start() { + # see if running + local pids=$(pgrep $prog) + + if [ -n "$pids" ]; then + echo "$prog (pid $pids) is already running" + return 0 + fi + printf "%-50s%s" "Starting $prog: " '' + $progpath $opts & + + # save pid to file if you want + echo $! > $pidfile + + # check again if running + pgrep $prog >/dev/null 2>&1 + eval_cmd $? +} + +stop() { + # see if running + local pids=$(pgrep $prog) + + if [ -z "$pids" ]; then + echo "$prog not running" + return 0 + fi + printf "%-50s%s" "Stopping $prog: " '' + rm -f $pidfile + kill -9 $pids + eval_cmd $? +} + +status() { + # see if running + local pids=$(pgrep $prog) + + if [ -n "$pids" ]; then + echo "$prog (pid $pids) is running" + else + echo "$prog is stopped" + fi +} + +case $1 in + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart) + stop + sleep 1 + start + ;; + *) + echo "Usage: $0 {start|stop|status|restart}" + exit 1 +esac + +exit $? |
