slackbuilds

My Slackbuilds
git clone git://git.server.ky/slackcoder/slackbuilds
Log | Files | Refs | README

rc.gmid.new (1428B)


      1 #!/bin/sh
      2 #
      3 # Startup/shutdown script for the gmid gemini service.
      4 #
      5 
      6 create_gmid_run_dir() {
      7   if [ ! -d /run/gmid/ ]; then
      8     mkdir -p /run/gmid
      9     chown gmid:gmid /run/gmid
     10   fi
     11 }
     12 
     13 gmid_reload()
     14 {
     15   create_gmid_run_dir
     16 
     17   local pid="$(2>/dev/null cat /run/gmid/gmid.pid)"
     18 
     19   if [ -z "$pid" ] || ! kill -0 "$pid" >/dev/null; then
     20     echo "gmid is not running"
     21 
     22     return
     23   fi
     24 
     25   echo "Reloading gmid configuration"
     26   kill -HUP "$(cat /run/gmid/gmid.pid)"
     27 }
     28 
     29 gmid_start() {
     30   create_gmid_run_dir
     31 
     32   local pid="$(2>/dev/null cat /run/gmid/gmid.pid)"
     33 
     34   if [ -n "$pid" ] || kill -0 "$pid" 2>/dev/null; then
     35     echo "gmid is already running"
     36 
     37     return
     38   fi
     39 
     40   echo "Starting gmid gemini service"
     41   gmid \
     42       -c /etc/gmid.conf \
     43       -P /run/gmid/gmid.pid
     44 }
     45 
     46 gmid_status() {
     47   create_gmid_run_dir
     48 
     49   local pid="$(2>/dev/null cat /run/gmid/gmid.pid)"
     50 
     51   if [ -z "$pid" ] || ! kill -0 "$pid" 2>/dev/null; then
     52     echo "gmid is not running"
     53 
     54     return
     55   fi
     56 
     57   echo "gmid is running"
     58 }
     59 
     60 gmid_stop() {
     61   echo "Stopping gmid gemini service"
     62   create_gmid_run_dir
     63 
     64   local pid="$(2>/dev/null cat /run/gmid/gmid.pid)"
     65 
     66   if [ -z "$pid" ] || ! kill -0 "$pid" 2>/dev/null; then
     67     echo "gmid is not running"
     68 
     69     return
     70   fi
     71 
     72   kill -TERM "$pid"
     73 }
     74 
     75 case "$1" in
     76 reload)
     77   gmid_reload
     78   ;;
     79 start)
     80   gmid_start
     81   ;;
     82 status)
     83   gmid_status
     84   ;;
     85 stop)
     86   gmid_stop
     87   ;;
     88 *)
     89   echo "Usage: $0 {reload|start|status|stop}"
     90   exit 1
     91 esac