Способы оплаты Abuse

Как узнать имя процесса по его PID в Linux

28.05.2025, 16:10

Иногда нужно быстро понять, какой именно процесс запущен под конкретным PID. В этой статье разберём, как это сделать — но сначала пару слов о том, как вообще работают процессы в Linux. Когда вы или система запускаете какую-то программу, ядро Linux создаёт для неё отдельный процесс. В нём хранятся все данные о работе программы: переменные, ввод-вывод, состояние и прочее.

Так как Linux — многозадачная система, он запускает сразу несколько процессов. Чтобы не возникло путаницы, каждый из них получает уникальный номер — PID. Без этого невозможно было бы корректно управлять запущенными задачами.

Данные о процессах хранятся в /proc. Там для каждого процесса есть своя папка с его номером.

Как посмотреть содержимое /proc

Можно использовать простую команду ls, чтобы заглянуть в /proc:

ls /proc

Если список слишком длинный — удобно добавить less:

ls /proc | less

Цифровые папки — это и есть процессы. Названия этих папок — PID-номера.

Как посмотреть содержимое конкретного процесса

Например, у процесса systemd, с которого стартует система, всегда PID 1. Чтобы посмотреть, что находится в его папке:

ls /proc/1

Как следить за процессами в системе

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

→ ps aux — покажет список всех процессов с их PID.

→ top — откроет интерактивное окно со всеми активными процессами, обновляется в реальном времени.

→ glances — современный инструмент, показывает загрузку процессора, памяти, дисков и прочее.

Как узнать PID по имени процесса

Если вы знаете название программы, можно узнать её PID с помощью команды pidof:

pidof firefox
pidof python
pidof cinnamon

Как узнать имя процесса по PID

Теперь самое интересное — допустим, у вас уже есть PID, и вы хотите понять, что это за процесс. Используйте команду:

ps -p PID -o comm=

Примеры:

ps -p 2523 -o comm=
ps -p 2295 -o comm=

Здесь:

→ -p — указывает нужный PID,

→ -o comm= — формат вывода, где comm означает имя команды (оно же имя процесса).

Дополнительно

Если хотите подробнее разобраться в возможностях ps, посмотрите его справку:

man ps