Changeset View
Changeset View
Standalone View
Standalone View
libexec/rc/rc.subr
Show First 20 Lines • Show All 1,053 Lines • ▼ Show 20 Lines | for _elem in $_keywords; do | ||||
eval _cmd=\$${rc_arg}_cmd \ | eval _cmd=\$${rc_arg}_cmd \ | ||||
_precmd=\$${rc_arg}_precmd \ | _precmd=\$${rc_arg}_precmd \ | ||||
_postcmd=\$${rc_arg}_postcmd | _postcmd=\$${rc_arg}_postcmd | ||||
if [ -n "$_cmd" ]; then | if [ -n "$_cmd" ]; then | ||||
if [ -n "$_env" ]; then | if [ -n "$_env" ]; then | ||||
eval "export -- $_env" | eval "export -- $_env" | ||||
fi | fi | ||||
_run_rc_precmd || return 1 | |||||
# service can redefine all so check for valid targets | # service can redefine all so check for valid targets | ||||
if [ "$rc_arg" = 'start' -o "$rc_arg" = 'restart' -o \ | if [ "$rc_arg" = 'start' -o "$rc_arg" = 'restart' -o \ | ||||
"$rc_arg" = 'reload' ]; then | "$rc_arg" = 'reload' ]; then | ||||
_run_rc_setup || warn "failed to setup ${name}" | _run_rc_setup || warn "failed to setup ${name}" | ||||
fi | fi | ||||
_run_rc_precmd || return 1 | |||||
_run_rc_doit "$_cmd $rc_extra_args" || return 1 | _run_rc_doit "$_cmd $rc_extra_args" || return 1 | ||||
_run_rc_postcmd | _run_rc_postcmd | ||||
return $_return | return $_return | ||||
fi | fi | ||||
case "$rc_arg" in # default operations... | case "$rc_arg" in # default operations... | ||||
describe) | describe) | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | status) | ||||
;; | ;; | ||||
start) | start) | ||||
if [ ! -x "${_chroot}${_chroot:+/}${command}" ]; then | if [ ! -x "${_chroot}${_chroot:+/}${command}" ]; then | ||||
warn "run_rc_command: cannot run $command" | warn "run_rc_command: cannot run $command" | ||||
return 1 | return 1 | ||||
fi | fi | ||||
_run_rc_setup || warn "failed to setup ${name}" | |||||
if ! _run_rc_precmd; then | if ! _run_rc_precmd; then | ||||
warn "failed precmd routine for ${name}" | warn "failed precmd routine for ${name}" | ||||
return 1 | return 1 | ||||
fi | fi | ||||
# setup the full command to run | # setup the full command to run | ||||
# | # | ||||
startmsg "Starting ${name}." | check_startmsgs && echo "Starting ${name}." | ||||
if [ -n "$_chroot" ]; then | if [ -n "$_chroot" ]; then | ||||
_cd= | _cd= | ||||
_doit="\ | _doit="\ | ||||
${_nice:+nice -n $_nice }\ | ${_nice:+nice -n $_nice }\ | ||||
${_fib:+setfib -F $_fib }\ | ${_fib:+setfib -F $_fib }\ | ||||
${_env:+env $_env }\ | ${_env:+env $_env }\ | ||||
chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\ | chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\ | ||||
$_chroot $command $rc_flags $command_args" | $_chroot $command $rc_flags $command_args" | ||||
Show All 12 Lines | $command $rc_flags $command_args" | ||||
fi | fi | ||||
_doit="nice -n $_nice $_doit" | _doit="nice -n $_nice $_doit" | ||||
fi | fi | ||||
if [ -n "$_prepend" ]; then | if [ -n "$_prepend" ]; then | ||||
_doit="$_prepend $_doit" | _doit="$_prepend $_doit" | ||||
fi | fi | ||||
fi | fi | ||||
_run_rc_setup || warn "failed to setup ${name}" | |||||
# Prepend default limits | # Prepend default limits | ||||
_doit="$_cd limits -C $_login_class $_limits $_doit" | _doit="$_cd limits -C $_login_class $_limits $_doit" | ||||
# run the full command | # run the full command | ||||
# | # | ||||
if ! _run_rc_doit "$_doit"; then | if ! _run_rc_doit "$_doit"; then | ||||
warn "failed to start ${name}" | warn "failed to start ${name}" | ||||
return 1 | return 1 | ||||
Show All 27 Lines | stop) | ||||
;; | ;; | ||||
reload) | reload) | ||||
if [ -z "$rc_pid" ]; then | if [ -z "$rc_pid" ]; then | ||||
_run_rc_notrunning | _run_rc_notrunning | ||||
return 1 | return 1 | ||||
fi | fi | ||||
_run_rc_precmd || return 1 | |||||
_run_rc_setup || warn "failed to setup ${name}" | _run_rc_setup || warn "failed to setup ${name}" | ||||
_run_rc_precmd || return 1 | |||||
_doit=$(_run_rc_killcmd "${sig_reload:-HUP}") | _doit=$(_run_rc_killcmd "${sig_reload:-HUP}") | ||||
_run_rc_doit "$_doit" || return 1 | _run_rc_doit "$_doit" || return 1 | ||||
_run_rc_postcmd | _run_rc_postcmd | ||||
;; | ;; | ||||
restart) | restart) | ||||
▲ Show 20 Lines • Show All 1,049 Lines • Show Last 20 Lines |