ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Команда Pidof в Linux

Команда Pidof в Linux

pidof утилита командной строки, которая позволяет вам найти идентификатор процесса работающей программы

В этой статье мы объясним, как использовать команду pidof в Linux.

 

Как использовать команду 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 для принудительного отображения только одного 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 только с названием программы, которую вы ищете.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Exit mobile version