Señales.

Las SEÑALES son la forma que tienen los procesos de comunicarse entre sí, y el kernel de comunicarse con ellos. Existe un número determinado de señales que se pueden enviar a un proceso, y cada una de ellas tiene sobre él una acción distinta: pausarlo, reanudarlo, cancelarlo...

Conceptualmente, debemos entender, que un proceso recibe una señal, y tiene predeterminada una forma de actuar ante esa señal. Así, hay un conjunto de señales ante las cuales todos los procesos se comportan igual, sin embargo, hay señales ante las que procesos distintos se comportarán de manera distinta, e incluso habrá procesos que ignoren determinadas señales. Habrá otras que no podrán ignorar (la de detenerse, por ejemplo) porque son comunes a todos los procesos.

Las señales se denotan por SIGNOMBRE, donde NOMBRE es el nombre que se le da a la señal. Además, las señales más usadas tienen un número de señal asociado. Veamos las más comunes:

Se puede ver información más detallada sobre las señales con man signal.

El comando kill -SEÑAL PID es el que se usa para enviar señales a los procesos. Podemos indicar varios PIDs para que reciban esa señal en un solo comando separándolos con espacios al final. Son equivalentes:

# kill -SIGKILL 1283
# kill -9 1283
		

Mirar en cada momento qué PID tiene el proceso originado por un comando puede ser incómodo. Por eso existe el comando killall -SEÑAL nombre_comando, donde "nombre_comando" es el nombre del comando que dió lugar al proceso en cuestión.

La página del manual de kill es importante, conviene consultarla.