pidof — это утилита командной строки, которая позволяет найти идентификатор процесса запущенной программы.
В этой статье мы объясним, как использовать команду Linux pidof .
Как использовать команду pidof
Существуют разные реализации pidof для дистрибутивов на основе Red Hat и Debian. В дистрибутивах Red Hat команда pidof является частью пакета procps-ng , а в Debian — частью sysvinit-utils . Мы рассмотрим параметры, общие для обеих реализаций.
Синтаксис команды pidof следующий:
pidof [OPTIONS] PROGRAM_NAME
Команда принимает в качестве аргументов ноль или более имен, но обычно в pidof передается только одно имя.
При вызове без какой-либо опции, pidof распечатает PID всех запущенных программ, которые соответствуют заданному имени. Например, чтобы найти PID SSH-сервера, вы должны запустить:
pidof sshd
Если есть запущенные процессы с именами, соответствующими sshd , их PID будут отображаться на экране. Если совпадений не найдено, вывод будет пустым.
4382 4368 811
pidof возвращает 0 если хотя бы одна запущенная программа совпадает с запрошенным именем. В противном случае код выхода — 1 . Это может быть полезно при написании сценариев оболочки.
Чтобы быть уверенным, что отображаются только PID программы, которую вы ищете, используйте в качестве аргумента полный путь к программе. Например, если у вас есть две запущенные программы с одинаковым именем, расположенные в двух разных каталогах, pidof покажет PID обеих запущенных программ.
По умолчанию отображаются все PID соответствующих запущенных программ. Используйте параметр -s чтобы заставить pidof отображать только один PID:
pidof -s program_name
Параметр -o позволяет исключить процесс с заданным PID из вывода команды:
pidof -o pid program_name
Когда pidof вызывается с параметром -o , вы можете использовать специальный PID с именем %PPID который представляет вызывающую оболочку или сценарий оболочки.
Чтобы вернуть только PID процессов, работающих в одном корневом каталоге, используйте параметр -c .
Этот параметр работает только при pidof от имени пользователя root или sudo :
pidof -c pid program_name
Пример использования команды pidof
В следующем примере показано, как использовать команду pidof в сочетании с командой kill для завершения программы.
Допустим, браузер Firefox перестал отвечать, и вам нужно убить процессы Firefox. Сначала найдите PID с помощью pidof :
pidof firefox
Команда распечатает все процессы Firefox:
2551 2514 1963 1856 1771
Как только вы узнаете, что Firefox обрабатывает PID, отправьте сигнал SEGTERM чтобы завершить их все:
sudo kill -9 2551 2514 1963 1856 1771
Вы также можете использовать выражение подстановки команд $(...) , чтобы завершить программу одной командой:
sudo kill -9 $(pidof firefox)
Выводы
Команда pidof используется для определения идентификаторов PID конкретной запущенной программы.
pidof — это простая команда, у которой не так много параметров. Обычно вы вызываете pidof только с именем программы, которую ищете.
Добавить комментарий