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