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

12 set 2022 1 min di lettura
Как убить или остановить процесс в Linux
Indice dei contenuti

Введение

Существуют различные способы эффективного уничтожения процесса: остановить процесс по имени, убить процесс, указав часть имени, убить процесс, подчеркнув процесс курсором и т. д. Все следующие соглашения об уничтожении будут отправлять сигнал TERM указанному процессу. Для сигналов можно использовать имя сигнала или номер сигнала. Вы должны найти PID процесса и указать его в качестве аргумента для завершения процесса.

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

Чтобы убить процесс, используйте команду kill. Однако эту команду также можно использовать для отправки различных сигналов различным процессам. Чтобы увидеть список сигналов, которые вы можете отправить, введите:

kill -l

С каждой командой связан номер. Например:

kill -9 5187

Где -9 — это номер сигнала для отправки, а 5187 — это PID процесса, который мы хотим завершить.

Внимание, этот список зависит от используемой системы.

Вот параметры, которые могут быть более полезными:

  • SIGHUP — используется для отправки процессу запроса на отбой ; некоторые процессы, получившие сигнал такого типа, перезапускаются путем перезагрузки своего конфигурационного файла;
  • SIGQUIT - используется для отправки программе запроса на выход;
  • SIGTERM - это достаточно мягкий запрос на завершение: в этом случае процесс должен запустить некоторые процедуры перед завершением;
  • SIGKILL — используется для уничтожения процесса, когда SIGQUIT и SIGTERM не работают.

Чтобы убедиться, что процесс действительно завершен, просто снова проверьте список процессов.

С помощью команды pkill вы можете указать имя процесса, имя пользователя или другой метод, чтобы указать, какому процессу (или процессам) отправлять сигнал. Таким образом, нет необходимости использовать PID процесса:

pkill sleep

Следующее отправит сигнал уничтожения всем процессам, принадлежащим пользователю noviello:

pkill -u noviello

Прежде чем использовать команду pkill, используйте команду pgrep -l, чтобы просмотреть PID процесса и имя соответствующего процесса или процессов:

pgrep -l sleep

Команда killall требует имя процесса вместо PID и уничтожит все процессы, соответствующие этому имени.

Например:

killall -9 apache2

Может случиться так, что универсальных команд для уничтожения процесса, таких как kill, killall или pkill, может быть недостаточно.

Чтобы окончательно завершить процесс, используйте команду -KILL.

Сначала определите его PID процесса, а затем уничтожьте его следующим образом:

pidof apache2
sudo kill -KILL 5187

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.