Envío de señales

La función kill permite el envío de señales a otros procesos. Su modo de uso es:

$count = kill($signal, @processes);

que envía la señal $signal a los procesos cuyos PID están en la lista @processes. El resultado devuelve el número de procesos a los que la señal llegó con éxito. Por supuesto, el proceso que emite la señal debe tener los privilegios suficientes para hacerlo.

Si se usa la señal especial 0, la función kill devuelve el número de procesos que serán señalados, sin que la señal sea realmente entregada.

Si se emplea un número negativo, se entregará la señal a todos los procesos con identificador de grupo igual al opuesto de ese número.

Es posible usar el nombre de la señal en vez de su número:

  DB<1> p kill(0, 16942, 16943)
2
  DB<2> p kill('STOP', 20201)
1
  DB<3> p kill('CONT', 20201)
1
$ ps -A | egrep '1694[2-3]|20201'
pp2      16942 pts/9    su - pp2
pp2      16943 pts/9    -su
pp2      31339 pts/9    /usr/bin/perl -w /home/
pp2      20201 pts/19   pager /tmp/kNjkiMkHK9
pp2       7983 pts/16   grep -E 1694[2-3]|20201
Sesión con el depurador Procesos implicados

Casiano Rodríguez León
Licencia de Creative Commons
Programación Distribuida y Mejora del Rendimiento
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19