diff options
Diffstat (limited to 'rc.pounce')
-rw-r--r-- | rc.pounce | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/rc.pounce b/rc.pounce index bf95504..599c585 100644 --- a/rc.pounce +++ b/rc.pounce @@ -8,20 +8,25 @@ name='pounce' rcvar='pounce_enable' +extra_commands='reload' +sig_reload='USR1' load_rc_config "${name}" : ${pounce_enable:="NO"} -_command='/usr/local/bin/pounce' command='/usr/sbin/daemon' pidprefix="/var/run/${name}" pidfile="${pidprefix}.pid" +child_command='/usr/local/bin/pounce' +child_pidfile="${pidprefix}.child.pid" + if [ -n "$2" ]; then profile=$2 if [ -n "${pounce_profiles}" ]; then pidfile="${pidprefix}.${profile}.pid" + child_pidfile="${pidprefix}.${profile}.child.pid" eval pounce_enable="\${pounce_${profile}_enable:-${pounce_enable}}" eval pounce_flags="\${pounce_${profile}_flags:-${pounce_flags}}" eval pounce_user="\${pounce_${profile}_user:-${pounce_user}}" @@ -38,12 +43,18 @@ else fi fi -_pounce_flags=$pounce_flags -_pounce_user=$pounce_user +child_flags=$pounce_flags +child_user=$pounce_user unset pounce_flags pounce_user command_args="\ - -r -P ${pidfile} -T ${name}${profile:+/${profile}} \ - ${_pounce_user:+-u ${_pounce_user}} \ - -- ${_command} ${_pounce_flags}" + -r -P ${pidfile} -p ${child_pidfile} -T ${name}${profile:+/${profile}} \ + ${child_user:+-u ${child_user}} \ + -- ${child_command} ${child_flags}" + +pounce_reload() { + rc_pid=$(check_pidfile "$child_pidfile" "$child_command") + kill "-$sig_reload" "$rc_pid" +} +reload_cmd='pounce_reload' run_rc_command "$1" |