Каждому процессу в Linux присваивается уникальный идентификатор (PID). Зачастую пользователи взаимодействуют с процессом с помощью этого номера. Однако для устранения неполадок или мониторинга иногда необходимо использовать именно название процесса.
В этой статье мы рассмотрим различные методы определения названия процесса по его идентификатору в Linux.
Содержание:
- Воспользуйтесь файловой системой /proc
- Используйте утилиты top и glances
- Используйте команду ps
- Выводы
Воспользуйтесь файловой системой /proc
Файловая система /proc
хранит в себе информацию о процессах и системных ресурсах. Она представляет собой иерархическую структуру каталогов и файлов, которые характеризуют различные аспекты работающей системы.
В каталоге /proc
пользователь может найти директории, названия которых соответствуют идентификаторами PID. Каждая из них описывает конкретный процесс, запущенный в ОС. Внутри этих папок находятся файлы со следующей информацией:
- состояние процесса;
- использование памяти;
- дескрипторы файлов;
- аргументы командной строки;
- переменные окружения.
Чтобы просмотреть содержимое директории /proc
, воспользуйтесь командой ls
:
Читайте также: Что такое процессы и как ими управлять в Linux.
Для примера откроем папку 1
, которая содержит данные о процессе с идентификатором 1:
Файлы этой директории описывают работу именно этого процесса. Название процесса хранится в файле comm
. Выведем его содержимое на экран:
Мы узнали, что процесс с идентификатором 1
имеет название systemd
.
Используйте утилиты top и glances
Утилита top
позволяет выполнять динамический мониторинг ОС в реальном времени. Она отображает постоянно обновляемую сводную информацию о процессах и операционной системе. Для запуска инструмента просто введите в окне терминала:
В колонках PID
и COMMAND
записаны идентификаторы процессов и названия, которые им соответствуют.
Читайте также: Как сохранить вывод команды Top в файл.
Инструмент glances
предоставляет полный обзор системных ресурсов в удобном и интерактивном интерфейсе. Его функционал похож на top
. Поэтому Вы также сможете узнать названия процессов по их идентификаторах. Чтобы запустить эту утилиту, введите следующую команду:
Используйте команду ps
По умолчанию команда ps
выводит на экран информацию только о текущих запущенных процессах. Однако, у нее есть три опции, которые прикажут ей отобразить в терминале данные о всех процессах ОС:
a
— выводит на дисплей процессы всех пользователей;u
— отображает дополнительную полезную информацию, включая пользователя, использование ЦП, памяти, время запуска и название процесса;x
— выводит процессы, не связанные с каким-либо запущенным окном терминала.
Выполним команду ps
с этими параметрами:
На скриншоте видно, что в колонке PID
указаны идентификаторы процессов, а в столбце COMMAND
— названия процессов или команд, которые их вызвали.
Также у команды ps
есть и другие опции, которые помогут в решении нашей задачи:
-p
— позволяет пользователю указать PID;-o
— определяет формат вывода имени процесса;comm=
— выводит на экран только название процесса.
Общий синтаксис команды с этими параметрами выглядит следующим образом:
Для примера узнаем названия процессов с идентификаторами 3910
и 7909
:
Читайте также: Glances — инструмент мониторинга системы в реальном времени для Linux.
Выводы
Команды ps
, top
, glances
и файловая система /proc
предлагают универсальные способы получения имен процессов на основе их PID. Надеемся, что показанные примеры их использования помогут Вам в дальнейшей работе с операционной системой Linux.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.