Главная > Управление процессами > pkill

pkill: Завершение/отправка сигналов процессам по имени

pkill — это команда, которая находит процессы на основе их имени или других атрибутов и отправляет им сигналы. Она похожа на `pgrep`, но отличается тем, что отправляет сигналы непосредственно найденным процессам. Она полезна для завершения или перезапуска всех процессов с определенным именем одновременно.

Обзор

pkill использует те же функции сопоставления с образцом, что и `pgrep`, для поиска процессов, но отправляет указанный сигнал найденным процессам. Сигнал по умолчанию — SIGTERM (15), который запрашивает нормальное завершение процесса. Вы можете отправить SIGKILL с помощью опции `-9`, но используйте ее с осторожностью, так как это принудительное завершение.

Основные функции

  • Отправка сигналов по имени процесса
  • Фильтрация по различным условиям, таким как пользователь, терминал, полный путь
  • Сигнал по умолчанию — SIGTERM (нормальное завершение)
  • Возможность принудительного завершения (SIGKILL)

Основные опции

Команда pkill позволяет точно выбирать процессы для отправки сигналов с помощью различных опций.

Сигналы и сопоставление

Фильтрация процессов

Сгенерированная команда:

Комбинируйте команды.

Описание:

`pkill` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Демонстрирует различные способы завершения процессов или отправки сигналов с помощью pkill.

Нормальное завершение процесса nginx

pkill nginx

Отправляет сигнал SIGTERM всем процессам с именем nginx, запрашивая их нормальное завершение.

Принудительное завершение процесса firefox, принадлежащего определенному пользователю

pkill -u john -9 firefox

Принудительно завершает процесс firefox, запущенный пользователем (например, 'john').

Завершение всех процессов, содержащих 'my_script.sh' в полной командной строке

pkill -f my_script.sh

Завершает все процессы, в которых 'my_script.sh' содержится не только в имени процесса, но и во всей командной строке выполнения.

Завершение всех процессов, запущенных на определенном терминале (tty1)

pkill -t tty1

Отправляет сигнал SIGTERM всем процессам, запущенным на терминале tty1.

Отправка сигнала HUP процессу httpd (перезапуск)

pkill -HUP httpd

Отправляет сигнал SIGHUP процессу httpd, чтобы запросить перечитывание конфигурационных файлов или перезапуск.

Советы и меры предосторожности

Важные моменты и полезные советы при использовании pkill.

Меры предосторожности

  • Используйте `pkill -9` (SIGKILL) только в крайнем случае. Это может привести к повреждению данных или нестабильности системы, так как процессу не дается возможность выполнить очистку.
  • Чтобы избежать непреднамеренного завершения процессов, рекомендуется сначала проверить, какие процессы будут выбраны, с помощью `pgrep`. (например, `pgrep -l <pattern>`)
  • Вы можете использовать регулярные выражения для указания шаблонов. (например, `pkill 'apache.*'`)
  • По умолчанию pkill нацелен только на процессы текущего пользователя. Для завершения процессов других пользователей требуются права root.

Те же команды в категории