Помните, что после отправки SIGTERM всем процессам ядро ждет некоторое время (обычно около 2 или 3 секунд), а затем отправляет SIGKILL. Вы можете найти это в /etc/rc.d/rc0.d/S01halt
или аналогичном (может варьироваться в зависимости от вашего дистрибутива).
Например, на моем Fedora 11 у вас есть:
action $"Sending all processes the TERM signal..." /sbin/killall5 -15
sleep 2
action $"Sending all processes the KILL signal..." /sbin/killall5 -9
Так что, если вы недостаточно быстры, увеличьте задержку или убедитесь, что вы быстрее!