Как убить процесс Linux

У меня частенько бывает такая ситуация, что зависает процесс yum, ну если быть точнее, то не зависает, а наверно завершается. При попытке повторного запуска выдает нечто похожее

  1. Existing lock /var/run/yum.pid: another copy is running as pid 13194.
  2. Another app is currently holding the yum lock; waiting for it to exit...
  3.   The other application is: yum
  4.     Memory : 772 k RSS (214 MB VSZ)
  5.     Started: Fri Nov  6 14:00:51 2015 - 2:26:36 ago
  6.     State  : Traced/Stopped, pid: 13194

Чтобы работать дальше долго и счастливо нужно прибить этот процесс, как это сделать написано ниже. Здесь нам повезло и мы знаем PID процесса, он любезно указан нам самим yum, но зачастую сначало нам нужно узнать его PID.

А вот так мы убиваем процесс в Linux

kill -sigspec PID

где sigspec — сигнал посылаемый процессу

1 HUP — Часто используется для перечитывания конфигурационных файлов
2 INT — Прервать (interrupt)
3 QUIT — Выйти
9 KILL — Безусловно прибить процесс
15 TERM — Мягкое прерывание

Например, вот так можно 100% убить процесс с PID 666

kill -9 666

Еще одна команда killall позволяет убивать все процессы с определенным именем

  1. killall httpd
  2. или
  3. killall -9 httpd

И еще одна команда pkill — утилита, с помощью которой можно найти процесс или послать сигнал процессу по имени и другим атрибутам. Утилита pkill работает аналогично pgrep, но каждому соответствующему критериям поиска процессу посылается сигнал, аналогично kill, вместо выдачи идентификатора процесса. Имя или номер сигнала можно указать как первую опцию командной строки pkill.

pkill -9 httpd