enviando una señal a través de kill y pid=0

enviando una señal a través de kill y pid=0

De matar man:

Si pid es 0, se enviará sig a todos los procesos (excluyendo un conjunto no especificado de procesos del sistema) cuyo ID de grupo de procesos sea igual al ID de grupo de procesos del remitente, y para los cuales el proceso tiene permiso para enviar una señal.

¿Qué for which the process has permission to send a signalsignifica exactamente? ¿Cómo puedo comprobar qué procesos recibirán una señal?

Por ejemplo, kill -9 0mata todos los procesos que se iniciaron en el actualttyy elttysí mismo. O hay algo más?

Respuesta1

¿Qué for which the process has permission to send a signalsignifica exactamente?

Está respondido allí mismo en la página de manual:

Para que un proceso tenga permiso para enviar una señal, debe tener privilegios o el ID de usuario real o efectivo del proceso de envío debe ser igual al ID de usuario establecido real o guardado del proceso de destino. En el caso deSEÑALbasta con que los procesos de envío y recepción pertenezcan a la misma sesión.

¿Cómo puedo comprobar qué procesos recibirán una señal?

Puede recorrer la lista de procesos e intentar eliminar cada uno con la señal 0 (la señal de ejecución en seco). Eso le dirá si habría tenido permiso para enviar una señal real.

información relacionada