Как найти идентификатор процесса, запущенного с помощью Pidof в Linux

12 set 2022 2 min di lettura
Как найти идентификатор процесса, запущенного с помощью Pidof в Linux
Indice dei contenuti

Введение

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 будут отображаться на экране. Если совпадений не найдено, вывод будет пустым.

3180 664

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.

Эта опция работает только как root или как пользователь sudo:

pidof -c pid program_name

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

В следующем примере показано, как использовать команду pidof в сочетании с командой kill для kill программы.

Предположим, что браузер Firefox не ответил, и процессы Firefox необходимо остановить. Сначала найдите PID с помощью pidof:

pidof firefox

Команда напечатает все процессы Firefox:

2661 2534 1134 1476

Как только вы узнаете процессы PID Firefox, отправьте сигнал SEGTERM, чтобы уничтожить их все:

sudo kill -9 2661 2534 1134 1476

Вы также можете использовать выражение подстановки команд $(...), чтобы завершить программу одной командой:

sudo kill -9 $(pidof firefox)

Вывод

Команда pidof используется для получения идентификаторов PID конкретной запущенной программы.

pidof — это простая команда, у которой не так много параметров. Обычно вы вызываете pidof только с именем искомой программы.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

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.