GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿hacer que Daemon se inicie con Linux?

Estoy escribiendo una aplicación daemon simple usando C/C++ y quiero que se inicie cuando se inicie Linux.

He intentado modificar /etc/init.d/skeleton para agregar un script en el directorio init.d de la siguiente manera

  1. agregué mi aplicación daemon en /usr/sbin/ directorio y cambió NAME=myDaemon

  2. escribe update-rc.d myDaemon default en Terminal

  3. y agregó enlaces simbólicos a rc#.d directorios

Pero no funcionó.

Mi segundo intento fue modificar rc.local como

/usr/sbin/myDaemon start 

Pero esto tampoco funcionó.

¿Cómo puedo hacer que mi daemon comience con el sistema operativo? Quiero hacer todo programáticamente.

Uso Ubuntu 10.10, pero si existe una solución general para todas las distribuciones, ¡sería genial!

Respuesta aceptada:

No modificas el /etc/init.d/skeleton expediente. Tu copias a un nuevo archivo /etc/init.d/mamoudservice (reemplace mamoudservice con un nombre más adecuado) y luego editar ese nuevo archivo apropiadamente.

Luego agrega un enlace simbólico desde /etc/rc2.d/S99mamoudservice a /etc/init.d/mamoudservice etc.

Usar, por ejemplo,

   /bin/bash -vx /etc/init.d/mamoudservice start

para entender cómo el bash shell está interpretando su script.

Si su programa daemon /usr/sbin/mamouddaemon está codificado en C o en C++, sugiero usar openlog y syslog adentro, al menos para obtener mensajes de depuración (no enviar a stderr o stdout en un demonio, no podría ir a ninguna parte).

Una alternativa a tener su /etc/init.d/mamoudservice script podría ser poner un @reboot entrada en su crontab


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Linux:¿Sudo no puede abrir /etc/sudoers?

  3. Linux:¿cómo deshabilitar Ctrl-alt-del y /etc/init/control-alt-del.conf en Linux?

  4. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  5. ¿Cómo se actualiza /etc/motd?

El comando make de Linux explicado con ejemplos

La forma correcta de editar archivos /etc/passwd y /etc/group en Linux

Configuración de Linux:comprensión de los directorios *.d en /etc

Linux:¿/sbin/init no existe?

¿Qué es el archivo /etc/passwd en Linux?

Comando make de Linux con ejemplos