
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 , чтобы заставить 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 перестал отвечать, и вам нужно завершить его процессы. Для начала найдите PID с помощью pidof :
pidof firefox
Команда выведет все процессы Firefox:
2551 2514 1963 1856 1771
Как только вы узнаете, какие PID обрабатывает Firefox, отправьте сигнал SEGTERM , чтобы завершить их все:
sudo kill -9 2551 2514 1963 1856 1771
Вы также можете использовать выражение подстановки команд $(...) , чтобы завершить программу одной командой:
sudo kill -9 $(pidof firefox)
Заключение
Команда pidof используется для определения PID конкретной запущенной программы.
pidof — простая команда с небольшим количеством опций. Обычно pidof вызывается только с именем искомой программы.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
Связанные руководства