working work troubleshooting running run not error dont debug linux shell init.d start-stop-daemon

linux - work - debug crontab



¿Qué es start-stop-daemon en las secuencias de comandos de Linux? (2)

¿Qué es start-stop-daemon y cómo se debe usar?

Estoy tratando de automatizar un programa en particular para ejecutar. Cada vez que se inicia el sistema, el programa debe ejecutarse. Para eso estoy escribiendo guiones en /etc/init.d/ location.


Copie el file /etc/init.d/skeleton (por ejemplo, /etc/init.d/rajeevdaemon u otro buen nombre), que es un script de shell con muchos comentarios, y edítelo para adaptarlo a sus necesidades. Luego, agregue los enlaces simbólicos apropiados de, por ejemplo, /etc/rc2.d/S98rajeevdaemon y /etc/rc2.d/K98rajeevdaemon .

Lea más sobre los runlevels de runlevels .

Y las distribuciones recientes (o futuras) de Linux están usando más y más systemd


Es un programa para administrar el inicio y la detención de procesos de fondo a nivel del sistema (demonios). Lo usa pasando parámetros (como el archivo pid para crear / verificar) y comandos de comando para el proceso que desea iniciar.

Entonces, haces una de dos cosas:

start-stop-daemon -S [other arguments] something

empezar something , si something no estaba ya corriendo. Si estaba corriendo, no hagas nada.

start-stop-daemon -K [other arguments] something

parar something Si something no estaba corriendo, no hagas nada.

La página del manual proporciona más información sobre los diversos argumentos. Normalmente, se proporciona una plantilla en /etc/init.d/ que tiene otros comandos para el proceso de inicio que controla la ejecución de procesos en segundo plano.

Qué significa eso?

start-stop-daemon --start --background -m --oknodo --pidfile $ {PIDFILE} --exec $ {DAEMON} - $ {TARGETDIR}

  • --background = lanzar como un proceso en segundo plano
  • -m = hacer un archivo PID. Esto se usa cuando su proceso no crea su propio archivo PID, y se usa con --background
  • --oknodo = devuelve 0 , no 1 si el daemon no realiza ninguna acción
  • --pidfile ${PIDFILE} = verifica si el archivo PID ha sido creado o no
  • --exec = asegúrese de que los procesos sean instancias de este ejecutable (en su caso, DAEMON )