lunes, 2 de noviembre de 2015

Señales

El comando kill se usa para matar procesos. Esto nos permite terminar programas que necesitan ser matados. Aquí tenemos un ejemplo:

[me@linuxbox ~]$ xlogo &
[1] 28401
[me@linuxbox ~]$ kill 28401
[1]+  Terminated                  xlogo

Primero arrancamos xlogo en segundo plano. El shell muestra el jobspec y el PID del proceso en segundo plano. A continuación, usamos el comando kill y especificamos el PID del proceso que queremos terminar. También podríamos haber especificado el proceso usando un jobspec (por ejemplo, “%1”) en lugar de un PID.

Aunque esto es todo muy sencillo, hay mucho más al respecto. El comando kill no "mata" exactamente los procesos, en su lugar les manda señales. Las señales son una de las diversas formas con que el sistema operativo se comunica con los programas. Ya hemos visto señales en acción con el uso de Ctrl-c y Ctrl-z. Cuando un terminal recibe una de estas pulsaciones de teclado, manda una señal al programa en primer plano. En el caso de Ctrl-c, se manda una señal llamada INT (Interrupción); con Ctrl-z, una señal llamada TSTP (Terminal Stop). Los programas, a su vez, “escuchan” las señales y las utilizan según las van recibiendo. El hecho de que un programa pueda escuchar y actuar mediante señales permite que el programa haga cosas como guardar el trabajo en proceso cuando se le envía una señal de terminación.

No hay comentarios:

Publicar un comentario