Иногда kill
и kill -9
— это не совсем то, что нужно.
Иногда хочется убить процесс но так, чтобы тот, кто его
запустил, думал, что процесс завершился успешно.
Это бывает нужно при отладке, при тестировании, или даже при установки капризных пакетов с кривыми install-скриптами.
Если убить процесс командой kill
, то он, скорее всего,
вернёт не нулевой exit code. Но это можно обойти:
sudo gdb -p $PID -ex 'call exit(0)' -ex quit
Суть очень проста. Мы подключаемся к процессу дебагером
и выполняем в его контексте вызов exit(0)
.
Кстати, при отладке бывает полезно вернуть не 0, а что-то необычное, чтобы потом было легко найти это место в логах. Но это уже редкий случай.