Da quello che ho capito, SIGKILL non può essere catturato. Ciò implicherebbe che un processo non ha il tempo di uccidere i suoi figli prima che il sistema operativo lo distrugga. Questo può essere dimostrato con uno script di shell.
#! /bin/bash
trap : SIGTERM SIGINT SIGKILL # SIGKILL is pointless.
mplayer video.avi
Ucciderlo con SIGKILL lascia correre mplayer.
$ kill -9 $pid
Ma quando si usa un emulatore di terminale (xterm, Terminal, ...) i suoi bambini vengono uccisi insieme ad esso. Com'è possibile?
$ mplayer
E uccidilo:
$ kill -9 $terminal_pid
E mplayer scende con la nave. Gli emulatori di terminali stanno in qualche modo catturando SIGKILL o c'è un'altra forza all'opera qui?