Команда grub после новой установки 20.04 focus вместе с Win10 на диске NVMe

Отправка стандартного уничтожения процессу по умолчанию отправляет (в соответствии с википедией )SIGTERM. Это уведомляет процесс о том, что он должен завершить работу. Это хороший способ справиться с процессом, и он выглядит следующим образом:

  • Процесс регистрирует обработчик сигнала для SIGTERM
  • Вы хотите завершить процесс
  • Вы отправляете SIGTERM через kill
  • Вызывается обработчик сигнала, это шанс для процесса
    • Закрыть открытые файлы
    • Записать любые буферы
    • Завершить работу всех дочерних потоков

В отправке SIGTERM нет ничего, что заставило бы процесс выйти. Он может полностью игнорировать это или вести себя так, как хочет.

Kill -9 отправляет SIGKILL. Вам не разрешено регистрировать обработчик для SIGKILL, что означает, что по умолчанию он называется (пространство ядра, я полагаю, -кто-то поправит меня здесь ). В этом случае у вас нет возможности сделать вышеперечисленное,ваш процесс немедленно удаляется из списка исполняемых процессов, а его память и все остальное уничтожаются. Это может явно вызвать проблемы, если вы были на полпути к записи в файл.

Некоторые процессы будут принимать несколько сигналов SIGTERM перед завершением работы -Вы пробовали это? Процесс также может документировать, какие сигналы вы можете отправить ему, чтобы завершить его корректно.

Процесс, находящийся в плохом состоянии, может не иметь возможности обратиться к обработчику сигнала, даже если он зарегистрирован. Есть моменты, когда сигнал не может быть получен (Вы находитесь в состоянии прерывания или уже обрабатываете другой сигнал, и некоторые другие, которые я не могу точно определить в данный момент ). ЕСЛИ ваш процесс застрял (по какой-либо причине )в одной из этих точек, обработчик SIGTERM никогда не запустится, независимо от того, сколько раз вы его отправляете. Единственным решением здесь является SIGKILL, однако я даже видел случаи, когда этот сигнал игнорируется, и в этом случае необходима перезагрузка системы.

Фактический ответ

Чтобы ответить на ваш вопрос -, в каких случаях убийство игнорируется и настаивают на убийстве с помощью -9:

  • Процесс зарегистрировал обработчик SIGTERM, который специально не уничтожает процесс (примечание -SIGTERM по умолчанию уничтожит процесс)
  • Процесс застрял в состоянии блокировки сигнала -, когда невозможно запустить обработчик SIGTERM
3
28.01.2021, 16:42
1 ответ

В системах UEFI необходимо указывать устройство, а не раздел. grub-installдолжен автоматически определить правильное устройство, поэтому

sudo grub-install

и

sudo grub-install /dev/nvme0n1

оба должны работать.

0
18.03.2021, 22:33

Теги

Похожие вопросы