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