Если у вас есть процесс в приостановленном состоянии, он не будет действовать никакими сигналами (, кроме SIGKILL
), пока не продолжится. Ожидающий сигнал будет поставлен в очередь процесса.
Таким образом, в зависимости от вашей ситуации вам нужно будет отправить либо:
SIGTERM
, а затемSIGCONT
SIGCONT
Конечно, это можно упростить до
if (condition) { send SIGTERM }
send SIGCONT
Если меню загрузки GRUB содержит несколько версий ядра, попробуйте загрузиться с более старой версией. (Всегда должно быть как минимум текущее ядро и ядро, используемое установщиком ОС :последнее имеет номер версии, например 0-rescue-<numbers>
.
Если загрузка со старым ядром прошла успешно, проблема может заключаться в поврежденном/отсутствующем файле initramfs. Это довольно распространено, если в вашей файловой системе /boot
закончилось место на диске, например, при установке пакета обновления ядра.
(Каждая версия ядра имеет свой собственный файл initramfs, поэтому, если проблема возникла во время самого последнего обновления, более старое ядро и его initramfs, скорее всего, будут работать.)
Если в остальном система работает нормально со старым ядром, вы можете использовать команду вида
mkinitrd /boot/initramfs-3.10.0-327.el7.img 3.10.0-327.el7
для воссоздания файла initramfs для нового ядра.
Но если загрузка со старым ядром также не удалась, проблема может заключаться в чем-то другом. В этом случае вам следует выполнить загрузку в режиме восстановления с установочного носителя. В случае VMware это означает, что виртуальное оборудование включает в себя виртуальный CD-диск -ROM, а также «вставка» ISO-образа установочного носителя RHEL 7.x (, предпочтительно 7.2 или новее )в виртуальный привод компакт-дисков и указание виртуальной машине загружаться с компакт-диска.
После появления меню загрузки GRUB на установочном носителе выберите «Устранение неполадок», а затем «Восстановление системы RedHat Linux». Программа установки загрузится и запросит настройки языка и клавиатуры, как при обычной установке, но затем переключится в режим восстановления. Он даже предложит автоматически смонтировать диски установки -в -, которые будут -спасены для вас, если эта установка ОС не слишком сильно повреждена. Затем он предоставит вам корневую командную строку, которую вы можете использовать для дальнейшего устранения неполадок и применения исправлений по мере необходимости.
В среде аварийной загрузки ваша реальная корневая файловая система будет смонтирована в /mnt/sysimage
.Чтобы получить к нему доступ, используя обычные пути (= без префикса /mnt/sysimage к все ), вы можете использовать команду chroot /mnt/sysimage
, которая также будет предложена вам непосредственно перед вводом команды восстановления. быстрый.
После использования команды chroot /mnt/sysimage
вы сможете использовать любые команды оболочки, доступные в вашей установленной ОС. Например, если вы обнаружите, что файлы initramfs для ваших ядер отсутствуют в /boot
, вы можете использовать команду mkinitrd
(, как описано выше ), чтобы воссоздать их.
Попробуйте загрузиться с установочного носителя и выполнить диагностику/исправить проблему оттуда. Сделайте резервную копию всего важного! Скорее всего, машина или система неисправны и требуют миграции или переустановки с нуля.
У меня была похожая проблема, когда последнее ядро всегда паниковало, но предыдущее работало нормально. К счастью, это позволило мне войти в систему и посмотреть, что происходит.
Один из разработчиков изменил группу «root» на «oot», и впоследствии /boot не принадлежал пользователю с идентификатором 1000 (root ). Когда я запустил установку yum, он сказал, что не может записать ядро в / boot, что привело к моему открытию... После некоторых ручных правок в файле теней и некоторых действий chown -R новое ядро установлено, как и ожидалось.
TLDR, проверьте права доступа к системным файлам и убедитесь, что никто не нарушил информацию об учетной записи root.