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

У меня неприятный процесс, который не умрет:

ps -A | grep "nzbget" 

дает мне:

 11394 pts/3 00:00:00 nzbget 

Если я попробую:

 pkill nzbget (or 11394) 

… Я не получаю ответа, и процесс все еще жив, сверху дает мне:

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11394 asystem+ 20 0 125448 6244 4984 T 0.0 0.1 0:00.00 nzbget 

Я запускаю nzbget с помощью «nzbget -s», если я это сделаю после его запуска (и я попытался остановить его), я получаю ошибку [binding socket failed], и все, что я могу сделать, это перезагрузка.

Как я могу убить это без перезагрузки?

  • Как (если возможно) я могу закончить конкретный блокиратор, зависающий программой?
  • Убить все процессы потомства
  • Как я могу создать процесс, который трудно убить?
  • Как умело убить демона с его именем?
  • kill -STOP отключается
  • Как убить процесс с помощью одной команды?
  • процесс pkill, содержащий специальные символы
  • как перечислить все экземпляры приложения?
  • 5 Solutions collect form web for “Как убить упрямый процесс”

    Вы можете использовать kill -9 11394 чтобы полностью уничтожить процесс, это вызовет следующее:

    Из 3 наиболее важных «убивающих» сигналов в командной строке Linux / UNIX :

    Ядро отпустит процесс, не сообщая о его процессе. Такое нечистое убийство может привести к потере данных. Это самый «самый жесткий», «самый грубый» и самый небезопасный сигнал об уничтожении, и его следует использовать только для того, чтобы остановить то, что кажется неостановленным.

    По мере того, как процесс останавливается * (обратите внимание на T как на выход состояния в top ), он вообще не может выполнять обработку сигналов. Таким образом, вам необходимо использовать сигнал, который не требует взаимодействия с процессом, в вашем случае SIGKILL (9), как в следующем

     kill -9 11394 

    Если вы хотите, по какой-либо причине, получить базовый дамп процесса (и ваша система настроена для этого), вместо этого вы можете использовать SIGSEGV (11). Это также не требует взаимодействия с процессом.

    * Я предполагаю, что остановлен здесь, потому что отслеживаемый процесс должен иметь возможность обрабатывать сигналы, что может привести к остановке процесса.

    Существуют различные сигналы, которые вы можете попробовать, и я уверен, что кто-то еще перечислит, но тот, который я считаю наиболее эффективным, является сигналом HUP :

     kill -hup 11394 

    Я считаю, что это работает во многих случаях, когда приложение не реагирует на какие-либо другие сигналы. В противном случае вы можете просто kill -9 , хотя это может иметь побочные эффекты, так как он просто вытаскивает вилку и не позволяет программе очищать.

    Попробуйте использовать флаг сигнала, чтобы грациозно убить процесс:

    kill -15 11394

    В случае с X-приложением мне посчастливилось использовать xkill и щелкнуть его окно, когда приложение не ответит на kill из командной строки

    Interesting Posts

    Как заставить pam_exec запускать скрипт в качестве текущего пользователя?

    Какие методы я могу использовать для создания красочных сообщений MOTD при входе в систему?

    Невозможно установить жесткий диск USB. Файловая система не распознана?

    Когда вам нужно «nohup», если вы уже используете «&»?

    Развернуть регулярное выражение на нескольких строках в Vim

    Как sed заменить этот конец линии?

    Нет связей типов файлов для рабочего стола KDE 5 при установке Debian

    Чтение из tty в трубчатой ​​оболочке

    Соединяет ли ssh соединения в туннеле отдельно?

    Как выполнить nohup в heredocument?

    Как узнать, ACL поддерживаются в моей файловой системе?

    Как я могу конвертировать локальное время в UTC date-time?

    Есть ли какой-либо веб-сайт с командной строкой Linux для практических команд?

    Должны ли разделы LVM использоваться в изображениях виртуальной машины?

    Блокировать доступ к физической консоли

    Linux и Unix - лучшая ОС в мире.