2011-03-31 18 views
10
  1. En Unix, si se envió una señal a un proceso de subprocesos múltiples, ¿qué hilo será el que ejecutará la función de manejo?manejo de señales multiproceso

  2. si es una máquina multi-cpu, se está ejecutando más de 1 subproceso al mismo tiempo. ¿Qué hilo estará activo para ejecutar la función de manejo de señal?

Respuesta

9

Según man 7 signal, todos los hilos en el proceso comparten el mismo manejador de la señal, y si se produzca una señal a un proceso con múltiples hilos que no han bloqueado la señal, uno de ellos es elegido arbitrariamente para recibirlo .

Tener una máquina multi-CPU no cambiará esta semántica.