Бывают такие моменты, когда приложение начинает глючить, и вместе с ним и все рабочее окружение, конечно, можно и перезагрузить компьютер, и исправность сама по себе улетучиться, но это не вариант каждый раз перезагружать свой компьютер. И для этого существует команда Kill, которая поможет вам, остановить зависший процесс.
Команда Kill может быть использована, чтобы убить или прекратить процесс, используя «Signal» или «PID». Команда Kill посылает указанный сигнал чтобы завершить некорректно ведущее себя приложение. Если не указан ни один сигнал, посылается сигнал TERM. Этот сигнал TERM будет убивать процессы, которые не поймают его; для других процессов может быть необходимо использовать сигнал Kill (номер 9), так как этот сигнал не может быть перехвачен.
SIGTERM — это сигнал который запрашивает остановку работы процесса. Этому процессу дается некоторое время на завершение работы.
Ну а с помощью сигнала SIGKILL мы можем заставить процесс прекратить работу немедленно. И Программа не имеет права проигнорировать этот сигнал, и завершает работу приложения.
Ниже приведен формат команды Kill:
kill [ -signal | -s signal ] pid …
Самый простой способ убить процесс, это найти PID ресурса, а затем запустить PID, как аргумент с командой Kill.
Что такое PID?
Каждому процессу Linux или Unix или выполняемой программе, автоматически присваивается идентификационный номер уникального процесса (PID). PID автоматически присваивает номер для каждого процесса в системе.
Вы можете найти PID ресурса с использованием команды «pidof» или команды «ps». Чтобы узнать PID процесса (скажем, firefox), используйте следующую команду
pidof firefox
Вы также можете использовать команду в другой форме:
ps -A | grep -i firefox
В приведенном выше примере, выводится число «23814» которое и является PID процесса firefox. После того, как PID процесса (firefox) вам известно, вы можете использовать команду Kill, чтобы убить процесс (Firefox), как показано ниже.
kill 23814
Когда команда выполняет уничтожение, то есть она посылает сигнал процессу, чей PID передается вместе с командой в качестве аргумента.
Чтобы быть более конкретным, то команда Kill имеет следующие формы:
- kill [signal] PID
- kill -15 PID
- kill -9 PID
- kill -SIGTERM PID
- kill [options] -SIGTERM PID
Команда Kill имеет следующие коды возврата:
- 0 — при успехе
- 1 — неудача
- 64 — частичный успех (если указано более одного процесса)
Еще одна команда, которую вы можете использовать, это KillAll. Killall также использует имя процесса вместо PID и завершает все экземпляры процесса с этим именем. Например, если вы запустили несколько экземпляров Firefox, вы можете завершить их все с помощью команды
killall firefox
Для X-сервера, есть еще одна команда называется Xkill, которая может убивать процессы. Команда Xkill предназначена для графического режима, без прохождения имени процесса или его PID, то есть если вы запустите в терминале
xkill
то у вас появится крестик, с помощь которого вы можете завершить не работающую программу, просто кликнув по ней.
Вот так просто и легко, убивать процессы в операционных системах GNU/Linux.