start-stop-daemon(8) 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
Check for the existence of a specified process, and returns an exit status code, according to the LSB Init Script Actions (since version 1.16.1).
-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 (since version 1.17.6). The pid must be a number greater than 0.
--ppid ppid
Check for a process with the specified parent pid ppid (since version 1.17.7). 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]
Change to this username/uid before starting the process. You can also specify a group by appending a :, then the group or gid in the same way as you would for the chown(1) command (user:group). If a user is specified without a group, the primary GID for that user is used. When using this option you must realize that the primary and supplemental groups are set as well, even if the --group option is not specified. The --group option is only for groups that the user isn't normally a member of (like adding per process group membership for generic users like 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
Typically used with programs that don't detach on their own. This option will force start-stop-daemon to fork before starting the process, and force it into the background. Warning: start-stop-daemon cannot check the exit status if the process fails to execute for any reason. This is a last resort, and is only meant for programs that either make no sense forking on their own, or where it's not feasible to add the code for them to do this themselves.
-C, --no-close
Do not close any file descriptor when forcing the daemon into the background (since version 1.16.5). Used for debugging purposes to see the process output, or to redirect file descriptors to log the process output. Only relevant when using --background.
-N, --nicelevel entero
Altera la prioridad del proceso antes de iniciarlo.
-P, --procsched directriz:prioridad
This alters the process scheduler policy and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 0. The currently supported policy values are other, fifo and rr.
-I, --iosched clase:prioridad
This alters the IO scheduler class and priority of the process before starting it (since version 1.15.0). The priority can be optionally specified by appending a : followed by the value. The default priority is 4, unless class is idle, then priority will always be 7. The currently supported values for class are idle, best-effort and real-time.
-k, --umask mask
This sets the umask of the process before starting it (since version 1.13.22).
-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 (since version 1.17.19). 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 <[email protected]>, Rubén Porras <[email protected]>, Bruno Barrera C. <[email protected]>, Carlos Izquierdo <[email protected]>, Esteban Manchado y NOK. Debian L10n Spanish <[email protected]>.
Revisiones por Santiago Vila <[email protected]>, Javier Fernández-Sanguino, Rubén Porras, Luis Uribe y Omar Campagne.