Browse Source

%status and pidfile handling

Michael van Elst 22 years ago
parent
commit
7979d060cb
2 changed files with 19 additions and 4 deletions
  1. 1 1
      ircd/ircd.spec
  2. 18 3
      ircd/rc.ircd

+ 1 - 1
ircd/ircd.spec

@@ -33,7 +33,7 @@ Distribution: OpenPKG [BASE]
 Group:        Network
 License:      BSD
 Version:      2.10.3p3
-Release:      20030717
+Release:      20030718
 
 #   package options
 %option       with_fsl  yes

+ 18 - 3
ircd/rc.ircd

@@ -11,23 +11,38 @@
     ircd_log_minsize="1M"
     ircd_log_complevel="9"
 
+%common
+    ircd_pidfile="@l_prefix@/var/ircd/ircd.pid"
+    ircd_signal () {
+        [ -f $ircd_pidfile ] && kill -$1 `cat $ircd_pidfile`
+    }
+
+%status -p 200 -u @l_susr@ -o
+    ircd_usable="unknown"
+    ircd_active="no"
+    opService ircd enable yes && \
+        ircd_signal 0 && ircd_active="yes"
+    echo "ircd_enable=\"$ircd_enable\""
+    echo "ircd_usable=\"$ircd_usable\""
+    echo "ircd_active=\"$ircd_active\""
+
 %start -p 200 -u @l_susr@
     opService ircd enable yes || exit 0
     @l_prefix@/sbin/ircd
 
 %stop -p 200 -u @l_susr@
     opService ircd enable yes || exit 0
-    kill -TERM `cat @l_prefix@/var/ircd/ircd.pid`
+    ircd_signal TERM
 
 %restart -u @l_susr@
     opService ircd enable yes || exit 0
-    kill -TERM `cat @l_prefix@/var/ircd/ircd.pid`
+    ircd_signal TERM
     sleep 2
     @l_prefix@/sbin/ircd
 
 %reload -u @l_susr@
     opService ircd enable yes || exit 0
-    kill -HUP `cat @l_prefix@/var/ircd/ircd.pid`
+    ircd_signal HUP
 
 %daily -u @l_susr@
     opService ircd enable yes || exit 0