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.

Nota :Tenga en cuenta que a menos que se especifique --pidfile, start-stop-daemon se comporta de forma similar a killall(1). start-stop-daemon buscará en la tabla de procesos cualquier proceso que concuerde en nombre, uid y/o gid (si se especifica). Cualquier proceso que concuerde con los parámetros prevendrá a --start de iniciar el demonio. Se mandará a todos los procesos la señal TERM (o la señal especificada mediante --signal o --retry) si se especifica --stop. Debe especificar un fichero pid para los demonios que tengan hijos de larga duración que necesiten sobrevivir a un --stop.

Ó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 DE BÚSQUEDA

-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.

OPCIONES

-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
    Ejecuta un «chdir» a ruta antes de empezar el proceso. Esto se hace de la jaula de chroot, si se define la opción -r|--chroot. Si no se define, start-stop-daemon ejecutará un «chdir» al directorio raíz antes de empezar el proceso.

-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
    Se usa cuando se quiere comenzar un programa que no crea su propio fichero pid. Esta opción hace que start-stop-daemon cree el fichero referido con --pidfile y coloque el pid dentro de él justo antes de ejecutar el proceso. Tenga en cuenta que no se borrará cuando termine el programa. NOTA: Esta característica no funciona en todos los casos. Más notablemente cuando el programa que se ejecuta hace un fork de su proceso principal. Por esto es útil sólo cuando se combina con la opción --background.

-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.