Ignore:
Timestamp:
2011-11-08T23:47:41+01:00 (5 years ago)
Author:
nico
Message:

package/base-files: move service* functions from /etc/rc.common to /lib/functions.sh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/files/etc/rc.common

    r28834 r28864  
    77action=${2:-help} 
    88shift 2 
    9  
    10 # 
    11 # service: simple wrapper around start-stop-daemon 
    12 # 
    13 # Usage: service ACTION EXEC ARGS... 
    14 # 
    15 # Action: 
    16 #   -S,--start           start EXEC, passing it ARGS as its arguments 
    17 #   -K,--stop            stop EXEC (send it a $SERVICE_SIG_STOP signal) 
    18 #   -R,--reload          reload EXEC (send it a $SERVICE_SIG_RELOAD signal) 
    19 # 
    20 # Environment variables used: 
    21 #   SERVICE_DAEMONIZE    run EXEC in background 
    22 #   SERVICE_WRITE_PID    create a pid file and use it 
    23 #   SERVICE_USE_PID      assume EXEC creates its own pid file and use it 
    24 #   SERVICE_PID_FILE     pid file to use (default to /var/run/EXEC.pid) 
    25 #   SERVICE_SIG_RELOAD   signal used for reloading 
    26 #   SERVICE_SIG_STOP     signal used for stopping 
    27 #   SERVICE_UID          user EXEC should be run as 
    28 #   SERVICE_GID          group EXEC should be run as 
    29 # 
    30 #   SERVICE_DEBUG        don't do anything, but show what would be done 
    31 #   SERVICE_QUIET        don't print anything 
    32 # 
    33  
    34 SERVICE_QUIET=1 
    35 SERVICE_SIG_RELOAD="HUP" 
    36 SERVICE_SIG_STOP="TERM" 
    37  
    38 service() { 
    39         local ssd 
    40         local ssd_pid_file 
    41         local ssd_sig 
    42         local ssd_start 
    43         ssd="${SERVICE_DEBUG:+echo }start-stop-daemon${SERVICE_QUIET:+ -q}" 
    44         case "$1" in 
    45           -S|--start|start) 
    46                 ssd="$ssd -S" 
    47                 ssd_start=1 
    48                 ;; 
    49           -K|--stop|stop) 
    50                 ssd="$ssd -K" 
    51                 ssd_sig="$SERVICE_SIG_STOP" 
    52                 ;; 
    53           -R|--reload|reload) 
    54                 ssd="$ssd -K" 
    55                 ssd_sig="$SERVICE_SIG_RELOAD" 
    56                 ;; 
    57           *) 
    58                 echo "ssd: unknow action '$1'" 1>&2 
    59                 return 1 
    60         esac 
    61         shift 
    62         if [ -z "$1" ]; then 
    63                 echo "ssd: missing arguments" 1>&2 
    64                 return 1 
    65         fi 
    66         ssd="$ssd -x $1" 
    67         if [ -n "$SERVICE_PID_FILE$SERVICE_USE_PID$SERVICE_WRITE_PID" ]; then 
    68                 ssd="$ssd -p ${SERVICE_PID_FILE:-/var/run/${1##*/}.pid}" 
    69         fi 
    70         ssd="$ssd${SERVICE_UID:+ -c $SERVICE_UID${SERVICE_GID:+:$SERVICE_GID}}" 
    71         if [ -n "$ssd_start" ]; then 
    72                 ssd="$ssd${SERVICE_DAEMONIZE:+ -b}${SERVICE_WRITE_PID:+ -m}" 
    73         else 
    74                 ssd="$ssd${ssd_sig:+ -s $ssd_sig}" 
    75         fi 
    76         shift 
    77         $ssd${1:+ -- "$@"} 
    78 } 
    79  
    80 service_start() { 
    81         service -S "$@" 
    82 } 
    83  
    84 service_stop() { 
    85         service -K "$@" 
    86 } 
    87  
    88 service_reload() { 
    89         service -R "$@" 
    90 } 
    919 
    9210start() { 
Note: See TracChangeset for help on using the changeset viewer.