Para crear tareas recursivas o que se inicien automáticamente al arranque de nuestro sistema Linux, no hay nada como un demonio.¿Y qué es un demonio (del inglés daemon, Disk And Execution MONitor)? Pues no es más que un conjunto de instrucciones (ficheros) que nuestra máquina ejecutará ante unas determinadas circunstancias para lanzar un programa, un juego de instrucciones, conectarse a un servidor...

Introducción:

Tomando la definición de Wikipedia: "Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution MONitor), es un tipo especial de proceso informático no interactivo, es decir, que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario. Este tipo de programas se ejecutan de forma continua (infinita), vale decir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna."

Dicho en palabras llanas, es un programa que se lanza al inicio y se ejecuta con una serie de parámetros prefijados por el usuario. A priori, parece algo que deba hacer el sistema operativo sólo, pero vamos a ver que podemos crear nuestros propios demonios si siempre ejecutamos ciertas tareas al inicio (como, por ejemplo, abrir una consola para monitorizar los sensores de la placa base).

Cabe destacar que, como se cita en la definición de Wikipedia, un demonio no se puede interrumpir con un kill, porque se volverá a ejecutar (resucitará). Lo que debemos hacer será pararlo con un stop, y volverlo a lanzar cuando nos convenga con un start. Y esto lo deberemos hacer cada vez que se reinicie la máquina, porque en cada reinicio, se restauran.

¿Cómo podemos saber cuántos demonios tengo en ejecución? Pues, sencillamente, abriendo una consola y poniendo:

$ ls -l /etc/init.d/

En el caso de nuestra máquina, este comando devuelve lo siguiente:

total 272
-rwxr-xr-x. 1 root root 1410 abr 7 2011 apt
-rwxr-xr-x. 1 root root 2122 jul 20 2011 atd
-rwxr-xr-x. 1 root root 3378 ago 15 20:26 auditd
-rwxr-xr-x. 1 root root 2540 may 9 2011 avahi-daemon
-rwxr-xr-x. 1 root root 2324 sep 27 00:16 backuppc
-rwxr-xr-x. 1 root root 5124 may 30 2011 cgconfig
-rwxr-xr-x. 1 root root 3605 may 30 2011 cgred
-rwxr-xr-x. 1 root root 10006 feb 8 2011 cpuspeed
-rwxr-xr-x. 1 root root 3017 sep 28 14:56 cups

Para detener el demonio de impresión CUPS (Sistema de impresión común de Unix, abreviado CUPS), hacemos:

$ /etc(init.d/cups stop

Para iniciarlo:

$ /etc(init.d/cups start

Y para reiniciarlo:

$ /etc(init.d/cups restart

Ahora que ya nos manejamos un poco, pasemos a crear nuestro propio demonio.