Процеси вбивства
Взагалі кажучи, для вбивства процесу немає більш безпечного способу вбити процес, ніж звичайного вбивства (SIGTERM). У випадку, якщо це інтерактивний процес, він зазвичай дозволяє зупинити його ще безпечніше, надсилаючи сигнал SIGINT, який зазвичай надсилається натисканням Ctrl+ C. Цей сигнал перебуває в пастці, сам процес його може слухати - і зазвичай граціозно припиняється. ( спасибі Елія )
База даних DPKG
Щодо управління пакунками - це свого роду особливий випадок. База даних DPKG, яку команди APT використовують під водою, завжди може виявити, чи не завершилася операція. Кожен пакет має фактичний стан, який позначений, а також поточний стан, наприклад, розпакований, налаштований тощо. Вбивство FT-інтерфейсу APT буде перешкоджено, але у відомому стані. Файли блокування будуть випущені лише після того, як вони все повернуться в чистому стані - ви повинні це виправити, поки це не дозволить нових операцій.
Спосіб виправлення - це лише запустити процес отримання всіх пакетів у налаштованому стані. Практично кажучи, якщо ви перервали apt-get
операцію, ви можете просто закінчити її пізніше, використовуючи
sudo dpkg --configure -a
Він знає, як відновитись із зламаного стану до всеконфігурованого стану і в цьому сенсі просто продовжувати з того місця, де він був перерваний. Файли блокування залишаються там, поки ви цього не закінчите, і це є причиною - щоб не допустити нових операцій з базою даних DPKG в нечистому стані.
Про SIGKILL (9)
Надсилання SIGKILL (десяткове представлення 9) дуже небезпечно. Цей сигнал не підхоплюється процесом, але весь процес буде очищений операційною системою (ядром), сподобався він чи ні. Стан файлів у файловій системі може залишитись у пошкодженому стані. Ніколи не надсилайте ці сигнали, якщо ви більше не слухаєте інші більш витончені сигнали.