Browse Source

%status and pidfile handling

master
Michael van Elst 23 years ago committed by Ralf S. Engelschall
parent
commit
6a11f6c338
  1. 61
      dss/rc.dss
  2. 27
      snmp/rc.snmp
  3. 35
      sysmon/rc.sysmon
  4. 4
      sysmon/sysmon.spec

61
dss/rc.dss

@ -7,40 +7,51 @@
dss_enable="$openpkg_rc_def"
dss_admin="no"
%common
dss_daemon_pidfile="@l_prefix@/var/dss/dssdaemon.pid"
dss_admin_pidfile="@l_prefix@/var/dss/dssadmin.pid"
dss_signal () {
[ -f $dss_daemon_pidfile ] \
&& kill -$1 `cat $dss_daemon_pidfile`
local rc=$?
if rcVarIsYes dss_admin; then
[ -f $dss_admin_pidfile ] \
&& kill -$1 `cat $dss_admin_pidfile` \
&& [ $rc -eq 0 ]
rc=$?
fi
[ $rc -eq 0 ]
}
%status -u @l_susr@ -o
dss_usable="unknown"
dss_active="no"
rcService dss enable yes && \
dss_signal 0 && dss_active="yes"
echo "dss_enable=\"$dss_enable\""
echo "dss_usable=\"$dss_usable\""
echo "dss_active=\"$dss_active\""
%start -u @l_susr@
rcService dss enable yes || exit 0
@l_prefix@/sbin/DarwinStreamingServer -d >/dev/null 2>&1 &
echo $! >@l_prefix@/var/dss/dssdaemon.pid
echo $! >$dss_daemon_pidfile
if rcVarIsYes dss_admin; then
@l_prefix@/sbin/streamingadminserver -c @l_prefix@/etc/dss/streamingadmin.conf
@l_prefix@/sbin/streamingadminserver \
-c @l_prefix@/etc/dss/streamingadmin.conf \
>/dev/null 2>&1 &
echo $! >$dss_admin_pidfile
fi
%stop -u @l_susr@
rcService dss enable yes || exit 0
if [ -f @l_prefix@/var/dss/dssdaemon.pid ]; then
kill -TERM `cat @l_prefix@/var/dss/dssdaemon.pid`
rm @l_prefix@/var/dss/dssdaemon.pid
fi
if rcVarIsYes dss_admin; then
if [ -f @l_prefix@/var/dss/dssadmin.pid ]; then
kill -TERM `cat @l_prefix@/var/dss/dssadmin.pid`
rm @l_prefix@/var/dss/dssadmin.pid
fi
fi
dss_signal TERM
rm -f $dss_daemon_pidfile 2>/dev/null || true
rm -f $dss_admin_pidfile 2>/dev/null || true
%restart -u @l_susr@
rcService dss enable yes || exit 0
if [ -f @l_prefix@/var/dss/dssdaemon.pid ]; then
kill -TERM `cat @l_prefix@/var/dss/dssdaemon.pid`
rm @l_prefix@/var/dss/dssdaemon.pid
fi
@l_prefix@/sbin/DarwinStreamingServer -d >/dev/null 2>&1 &
echo $! >@l_prefix@/var/dss/dssdaemon.pid
if rcVarIsYes dss_admin; then
if [ -f @l_prefix@/var/dss/dssadmin.pid ]; then
kill -TERM `cat @l_prefix@/var/dss/dssadmin.pid`
rm @l_prefix@/var/dss/dssadmin.pid
fi
@l_prefix@/sbin/streamingadminserver -c @l_prefix@/etc/dss/streamingadmin.conf
fi
rc dss stop
sleep 2
rc dss start

27
snmp/rc.snmp

@ -12,16 +12,27 @@
snmp_log_complevel="9"
%common
snmp_pidfile="@l_prefix@/var/snmp/snmpd.pid"
snmp_config="@l_prefix@/etc/snmp/snmpd.conf"
snmp_signal () {
if [ -f "@l_prefix@/var/snmp/snmpd.pid" ]; then
kill -$1 `cat @l_prefix@/var/snmp/snmpd.pid`
fi
[ -f $snmp_pidfile ] && kill -$1 `cat $snmp_pidfile`
}
%status -u @l_susr@ -o
snmp_usable="no"
snmp_active="no"
rcService snmp enable yes && \
[ -f $snmp_config ] && snmp_usable="yes"
rcService snmp enable yes && \
snmp_signal 0 && snmp_active="yes"
echo "snmp_enable=\"$snmp_enable\""
echo "snmp_usable=\"$snmp_usable\""
echo "snmp_active=\"$snmp_active\""
%start -u @l_susr@
rcService snmp enable yes || exit 0
if [ -f @l_prefix@/etc/snmp/snmpd.conf ]; then
@l_prefix@/sbin/snmpd -s -P @l_prefix@/var/snmp/snmpd.pid
if [ -f $snmp_config ]; then
@l_prefix@/sbin/snmpd -s -P $snmp_pidfile
fi
%stop -u @l_susr@
@ -30,11 +41,9 @@
%restart -u @l_susr@
rcService snmp enable yes || exit 0
snmp_signal TERM
rc snmp stop
sleep 2
if [ -f @l_prefix@/etc/snmp/snmpd.conf ]; then
@l_prefix@/sbin/snmpd -s -P @l_prefix@/var/snmp/snmpd.pid
fi
rc snmp start
%daily -u @l_susr@
rcService snmp enable yes || exit 0

35
sysmon/rc.sysmon

@ -10,23 +10,40 @@
sysmon_log_numfiles="10"
sysmon_log_minsize="1M"
sysmon_log_complevel="9"
sysmon_stop_timeout="60"
%common
sysmon_pidfile="@l_prefix@/var/sysmon/sysmon.pid"
sysmon_pidfile="@l_prefix@/var/sysmon/sysmond.pid"
sysmon_signal () {
[ -f $sysmon_pidfile ] && kill -$1 `cat $sysmon_pidfile`
}
%status -u @l_susr@ -o
sysmon_usable="unknown"
sysmon_active="no"
rcService sysmon enable yes && \
sysmon_signal 0 && sysmon_active="yes"
echo "sysmon_enable=\"$sysmon_enable\""
echo "sysmon_usable=\"$sysmon_usable\""
echo "sysmon_active=\"$sysmon_active\""
%start -u @l_susr@
rcService sysmon enable yes || exit 0
rcTmp -i -p sysmon
logfile=`rcTmp -f -n log`
@l_prefix@/sbin/sysmond -q -f @l_prefix@/etc/sysmon/sysmon.conf >$logfile 2>&1
grep "pid" $logfile | sed -e 's;^.*pid \([0-9]*\).*$;\1;' >$sysmon_pidfile
rcTmp -k
@l_prefix@/sbin/sysmond -q -f @l_prefix@/etc/sysmon/sysmon.conf >/dev/null 2>&1
%stop -u @l_susr@
rcService sysmon enable yes || exit 0
if [ -f $sysmon_pidfile ]; then
kill -TERM `cat $sysmon_pidfile`
fi
sysmon_signal TERM
%restart -u @l_susr@
rcService sysmon enable yes || exit 0
rc sysmon stop
sleep 2
rc sysmon start
%reload -u @l_susr@
rcService sysmon enable yes || exit 0
sysmon_signal HUP
%daily -u @l_susr@
rcService sysmon enable yes || exit 0

4
sysmon/sysmon.spec

@ -67,6 +67,10 @@ AutoReqProv: no
%setup -q
%build
# force pidfile path
%{l_shtool} subst \
-e 's;\(#define PIDFILE\).*;\1 "%{l_prefix}/var/sysmon/sysmond.pid";' \
src/config.h
# force use of ncurses
echo "ac_cv_lib_curses_refresh=no" >config.cache
CC="%{l_cc}" \

Loading…
Cancel
Save