Мы покажем вам, как убить процесс в Linux. Одним из главных преимуществ Linux, является возможность завершить процесс без необходимости перезагрузки сервера. В этой статье мы покажем вам, как убить процесс в Linux с помощью команды kill, pkill и killall.
1. Что такое PID
Прежде чем мы начнем, мы должны знать, что такое ID процесса (PID).
PID представляет собой цифровую идентификацию процесса в Linux. Каждый процесс имеет уникальный PID. В самом деле, например, первый процесс, который начинается в системе на базе Linux, это процесс, и его PID устанавливается в 1. Этот процесс является родителем всех остальных процессов. Процесс инициализации не может быть убит с помощью команд kill, и это гарантирует, что это не будет случайно убит.
Теперь для того, чтобы найти PID каждого запущенного процесса на сервере мы можем выполнить следующую команду:
ps -A
Это дает нам список всех запущенных процессов и их соответствующие PIDы.
Если мы хотим найти PID определенного процесса, мы можем использовать команду pidof с последующим именем процесса. Например, чтобы узнать PID нашего процесса MySQL, можно выполнить следующую команду:
pidof mysql
Для еще более подробной информации, мы можем использовать команду ps aux вместе с grep:
ps aux | grep mysql
Теперь, когда мы знаем, что такое PID и как найти PID конкретного процесса мы можем перейти к следующему разделу и узнать, как убить его.
2. Убить процесс с помощью команды kill в Linux
Есть несколько важных правил, которые мы должны знать, прежде чем начать использовать команду kill.
- Вы можете убить только собственные процессы, которые принадлежат вашему идентификатору пользователя
- Вы не можете убивать процессы других пользователей
- Вы не можете убить системные процессы (если вы не суперпользователь)
- Пользователь root может убить процесс любого другого пользователя и любой системный процесс
Когда мы убиваем процесс с командой kill, мы на самом деле отправляем конкретный сигнал PID-регулятор, который мы хотим убить. Следующие сигналы используются командой kill:
1 = Hung up 9 = Kill 15 = Terminate
Сигнал hung up используется редко. Чаще всего мы используем сигнал kill, и если он не работает, то мы можем использовать сигнал Terminate.
Поэтому, как только мы находим PID процесса, который мы хотим убить, используйте один из методов, описанных нами ранее, мы можем использовать команду kill -9 PID, чтобы убить процесс с этого конкретного PID.
Например, если PID равный 6738, то мы можем использовать следующую команду:
kill -9 6738
3. Убить процесс с помощью команды pkill в Linux
Если вы хотите использовать имя процесса вместо его PID, чтобы убить его, то вы можете использовать команду pkill. Например, если процесс, который мы хотим убить называется MySQL, то мы можем использовать следующую команду, чтобы убить его:
pkill mysql
4. Убить процесс с помощью команды killall в Linux
Две предыдущие команды используются, чтобы убить только один конкретный процесс. Но, если мы хотим убить процесс вместе со всеми его дочерними процессами мы можем использовать команду killall:
killall mysql
В этом примере мы убьем процесс MySQL и все его дочерние процессы.
Они являются наиболее распространенными примерами убийства процесса в Linux.