start-stop-daemon(8)

NOMBRE
start-stop-daemon - Detiene y arranca demonios del sistema

SINOPSIS
start-stop-daemon [opción...] orden

DESCRIPCIÓN
start-stop-daemon sirve para controlar la creación y finalización de los procesos del sistema. Usando una de las opciones de búsqueda, puede configurar start-stop-daemon para encontrar las instancias de un proceso en ejecución.

Note: unless --pid or --pidfile are specified, start-stop-daemon behaves similar to killall(1). start-stop-daemon will scan the process table looking for any processes which match the process name, parent pid, uid, and/or gid (if specified). Any matching process will prevent --start from starting the daemon. All matching processes will be sent the TERM signal (or the one specified via --signal or --retry) if --stop is specified. For daemons which have long-lived children which need to live through a --stop, you must specify a pidfile.

ÓRDENES

-S, --start [--] argumentos
    Comprueba la existencia del proceso especificado. Si este proceso ya existe, start-stop-daemon no hace nada y finaliza con un estado de error 1 (0 si se especifica --oknodo ). Si el proceso no existe, comienza uno nuevo usando el ejecutable especificado por --exec, (o, si se especifica, por --startas ). Cualquier argumento dado en la línea de órdenes después de -- se introduce sin modificación alguna al programa que se va a ejecutar.

-K, --stop
    Comprueba la existencia del proceso especificado. Si este proceso existe, start-stop-daemon envía la señal especificada por --signal, y finaliza con un estado de error 0. Si este proceso no existe, start-stop-daemon termina con un estado de error 1 (0 si se ha especificado la opción --oknodo ). Si se especifica la opción --retry, start-stop-daemon comprobará que el proceso o los procesos han terminado.

-T, --status
    Compruebe la existencia del proceso especificado y devuelve un estado de salida conforme a las acciones de script de arranque («LSB Init Script Actions»).

-H, --help
    Muestra la información de uso y termina.

-V, --version
    Muestra la versión y termina.

OPCIONES

  Matching options

--pid pid
    Check for a process with the specified pid. The pid must be a number greater than 0.

--ppid ppid
    Check for a process with the specified ppid (parent pid). The ppid must be a number greater than 0.

-p, --pidfile fichero-pid
    Comprueba si un proceso ha creado el fichero-pid. Nota: utilizar solo esta opción de búsqueda puede afectar a procesos de forma no deseada si el proceso antiguo ha finalizado sin poder eliminar el fichero-pid.

-x, --exec ejecutable
    Busca procesos que son instancias de este ejecutable. El argumento ejecutable debe ser un nombre de ruta absoluta. Nota: puede que funcione de forma inesperada con scripts de intérprete de órdenes, ya que el ejecutable apunta al intérprete de órdenes. Tenga en cuenta que también se buscan entre los procesos iniciados dentro de una jaula de chroot, y puede que necesite definir límites adicionales de la búsqueda.

-n, --name nombre-proceso
    Busca procesos con el nombre nombre-proceso. Habitualmente, nombre-proceso es igual al nombre de fichero del proceso, pero puede que el mismo proceso lo modifique. Nota: en la mayoría de sistemas, esta información se obtiene a partir del nombre comm de proceso del núcleo, que habitualmente tiene un límite corto de longitud (suponiendo que más de 15 caracteres no son portables).

-u, --user nombre-usuario|uid
    Busca procesos cuyo propietario es el usuario definido con nombre-usuario o uid. Nota: tenga en cuenta que utilizar solo esta opción de búsqueda provoca actuar sobre todos los procesos que coinciden con el usuario.

  Generic options

-g, --group grupo|gid
    Pasa a grupo o gid cuando comienza el proceso.

-s, --signal señal
    Junto con --stop, define la señal enviada al proceso que se desea parar (TERM por omisión).

-R, --retry tiempo-de-espera|acción-programada
    Junto con --stop, especifica que start-stop-daemon compruebe que el proceso o los procesos han terminado. Lo comprobará repetidas veces hasta que no haya ningún proceso que coincida. Si el proceso no termina tomará una decisión determinada por acción-programada. Si se especifica tiempo-de-espera en vez de acción-programada, se usa la secuencia señal/tiempo-de-espera/KILL/tiempo-de-espera, donde señal es la señal definida con --signal. acción-programada es una lista de al menos dos elementos separados por barras (/); cada elemento puede ser un -númerodeseñal o [-]nombre-de-señal, que significa que se debe mandar esa señal, o tiempo-de-espera, que significa que se debe esperar tantos segundos para que el programa termine, o forever, que significa que se repita el resto de la acción programada indefinidamente si es necesario. Si se alcanza el final de la acción programada y no se ha especificado forever, start-stop-daemon termina con un estado de error 2. Si se especifica una acción programada cualquier señal especificada con --signal no se tendrá en cuenta.

-a, --startas nombre-ruta
    Con --start, comienza el proceso definido con nombre-ruta. Si no se define, se usarán los argumentos dados con --exec.

-t, --test
    Muestra las acciones que se realizarían y devuelve el valor apropiado, pero no hace nada.

-o, --oknodo
    Devuelve un estado 0 en vez de 1 si no se realiza (o se vayan a realizar) ninguna acción.

-q, --quiet
    No muestra mensajes informativos, sólo muestra mensajes de error.

-c, --chuid nombre-usuario|uid[:grupo|gid]
    Cambia a este usuario/uid antes de empezar el proceso. También puede definir un grupo añadiendo : seguido del grupo o el gid, del mismo modo que haría con la orden «chown» (usuario:grupo). Tenga en cuenta que cuando se usa esta opción el grupo primario y complementario también cambian, incluso si no se especifica --group. La opción --group es sólo para grupos de los que el usuario no es miembro (como el grupo nobody).

-r, --chroot directorio-raíz
    Ejecuta «chdir» y «chroot» sobre el directorio-raíz antes de empezar el proceso. Tenga en cuenta que el fichero pid también se escribe después de la jaula de chroot.

-d, --chdir ruta
    Chdir to path before starting the process. This is done after the chroot if the -r|--chroot option is set. When not specified, start-stop-daemon will chdir to the root directory before starting the process.

-b, --background
    Usado habitualmente con programas que no se separan por sí mismos. Esta opción forzará start-stop-daemon a hacer un fork antes de empezar el proceso, para luego dejarlo en segundo plano. ATENCIÓN: start-stop-daemon no puede comprobar el estado de salida si el proceso no puede ejecutarse por cualquier razón. Esto se hace como último recurso, y sólo tiene sentido usarla en programas donde no tiene sentido que hagan fork por sí mismos, o no si es posible añadir el código para que lo hagan por sí mismos.

-C, --no-close
    No cierra ningún descriptor de fichero al forzar la ejecución en segundo plano del demonio. Se utiliza para tareas de depuración y ver la salida del proceso, o redirigir los descriptores de fichero para registrar la salida del proceso. Solo es relevante si se utiliza --background.

-N, --nicelevel entero
    Altera la prioridad del proceso antes de iniciarlo.

-P, --procsched directriz:prioridad
    Altera la directriz de la acción programada del proceso y la prioridad de la acción programada antes de iniciarlo. Puede especificar la prioridad opcionalmente añadiendo :, seguido del valor. La prioridad por omisión es 0. Las directrices compatibles son other, fifo y rr.

-I, --iosched clase:prioridad
    Esto altera la clase la planificación de E/S y la prioridad del proceso antes de iniciarlo. Opcionalmente, puede definir la prioridad añadiendo : al final, seguido del valor. La prioridad predefinida es 4, a menos que la clase sea idle. En tal caso, la prioridad será siempre 7. Los valores posibles para la clase son idle, best-effort y real-time.

-k, --umask mask
    Define el umask del proceso antes de iniciarlo.

-m, --make-pidfile
    Used when starting a program that does not create its own pid file. This option will make start-stop-daemon create the file referenced with --pidfile and place the pid into it just before executing the process. Note, the file will only be removed when stopping the program if --remove-pidfile is used. NOTE: This feature may not work in all cases. Most notably when the program being executed forks from its main process. Because of this, it is usually only useful when combined with the --background option.

--remove-pidfile
    Used when stopping a program that does not remove its own pid file. This option will make start-stop-daemon remove the file referenced with --pidfile after terminating the process.

-v, --verbose
    Muestra mensajes informativos detallados.

ESTADOS DE SALIDA

0   La acción requerida se ha llevado a cabo. Si se define --oknodo es posible que nada ocurra. Esto se puede dar si se define --start y se detecta una coincidencia con un proceso en ejecución, o cuando se define --stop y no concuerda ningún proceso.

1   Si se define --oknodo y no se ha hecho nada.

2   Si se define --stop y --retry, pero los procesos aún se estaban ejecutando tras alcanzar el límite de tiempo («schedule»).

3   Cualquier otro fallo.

Al utilizar la orden --status se devuelven los siguientes estados de salida:

0   El programa está en ejecución.

1   El programa no se está ejecutando y el fichero de proceso PID existe.

3   El programa no se está ejecutando.

4   No se puede determinar el estado del programa.

EJEMPLO
Arranca el demonio food, a menos que se esté ejecutando uno (un proceso llamado «food», ejecutándose como usuario «food», y con pid en «food.pid»):

    start-stop-daemon --start --oknodo --user food --name food \
    	--pidfile /run/food.pid --startas /usr/sbin/food \
    	--chuid food -- --daemon

Envía SIGTERM a food y espera 5 segundos para su finalización:

    start-stop-daemon --stop --oknodo --user food --name food \
    	--pidfile /run/food.pid --retry 5

Un ejemplo de una acción programada personalizada para detener food:

    start-stop-daemon --stop --oknodo --user food --name food \
    	--pidfile /run/food.pid --retry=TERM/30/KILL/5

TRADUCTOR
Rudy Godoy <rudy@kernel-panik.org>, Rubén Porras <nahoo@inicia.es>, Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo <gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish <debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.