Как завершить процесс в Linux?

«Как завершить процесс в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для завершения процесса в Linux используется команда kill. Основной алгоритм:

  1. Найти PID (Process ID) процесса.

    # Поиск по имени (например, для nginx)
    pgrep nginx
    # Или через ps с фильтром
    ps aux | grep nginx
  2. Отправить сигнал завершения.

    # Стандартное завершение (SIGTERM, код 15). Процесс может его обработать и корректно завершиться.
    kill <PID>
    # Или явно
    kill -15 <PID>
  3. Если процесс не реагирует на SIGTERM, использовать принудительное завершение (SIGKILL, код 9). Сигнал SIGKILL нельзя перехватить или проигнорировать.

    kill -9 <PID>

Практические примеры и альтернативы:

  • pkill <имя_процесса> – завершает процесс по имени.
  • killall <имя_процесса> – завершает все процессы с указанным именем.
  • В сценариях автоматизации (например, в Dockerfile или скриптах CI/CD) предпочтительнее сначала использовать SIGTERM, давая процессу время на graceful shutdown, и только затем SIGKILL.