Назад | Перейти на главную страницу

Как убить якобы бессмертный процесс?

У меня было несколько огромных передач файлов, работающих на монтировании NFS. Сервер, на котором находилась точка монтирования, был небрежно перезагружен, и теперь сервер, с которого были инициированы эти большие передачи, похоже, завис из-за них.

Если я сбегу top, Вижу следующее:

Первое, что я попробовал, это запустить kill с каждым из флагов -1-2-9 и -15 и каждым из идентификаторов процессов, показанных выше по очереди. Это позволило мне продолжить, но не убило процессы. Следующее, что я предпринял, это перезагрузить сервер, но ни reboot ни shutdown -r now работал. Когда я бежал shutdown -r now стандартное широковещательное сообщение было отправлено, но сервер не перезагрузился. Я подтвердил это, посмотрев на время безотказной работы сервера, которое составляло 25 дней.

Так что теперь я немного застрял. Я запускаю эти команды как root.

РЕДАКТИРОВАТЬ: Вот еще один интересный лакомый кусочек:

Вверху, я не вижу, чтобы какие-либо другие процессы использовали более доли процента памяти или более 5% процессора.

РЕДАКТИРОВАТЬ 2: вывод /var/log/messages

Хорошо, время для чего-то еще более радикального!

echo 1 >/proc/sys/kernel/panic

Это указывает ядру, что при панике ядра перезагрузить хост за 1 секунду.

echo c >/proc/sysrq-trigger

Это заставляет ядро ​​паниковать. Надеюсь, вы в конечном итоге перезагрузите хост.

Вы начали процесс выключения, поэтому лучше всего перезагрузить его. Если это физическая машина, можно ли физически отключить сервер или через служебный процессор?

Если нет, и вы думаете, что эти конкретные процессы зависают, попробуйте убить все процессы с именем mv и gzip с этим:

killall mv

killall gzip

В качестве общего отказа от ответственности Быть осторожен с этой командой killall, так как вы не хотите случайно убить какой-то системный процесс, поэтому просто знайте, что вы убиваете.

Также посмотрите, что смонтировано с df -h и попробуйте их размонтировать. Я видел, как мои системы Linux зависали при выключении, когда они не отпускали монтирование nfs. Мне обычно приходится «лениво» размонтировать их с помощью

umount -l /path/of/mount/point

ИЗМЕНИТЬ 1

Другие способы изящной перезагрузки:

Ваша система реагирует на Ctrl+Alt+Del?

Если нет, попробуйте волшебную комбинацию клавиш SysRQ: Alt+SysRq+R+E+I+S+U+B. Sysrq = кнопка PrintScreen. Удерживая нажатыми клавиши alt и sysrq, вы вводите комбинацию клавиш REISUB одну за другой по порядку. Он в основном сначала завершает все процессы, выполняет другую очистку и перезагружается. Это работает, только если в вашем ядре включен magic sysrq. К вашему сведению:

R: Switch the keyboard from raw mode to XLATE mode
E: Send the SIGTERM signal to all processes except init
I: Send the SIGKILL signal to all processes except init
S: Sync all mounted filesystems
U: Remount all mounted filesystems in read-only mode
B: Immediately reboot the system, without unmounting partitions or syncing