Хотите знать, какие процессы запущены на вашем компьютере под управлением Linux? Узнайте, как использовать команду ps.
В многопроцессорных операционных системах, таких как Linux, процессы составляют неотъемлемую часть работы системы. Иногда пользователям необходимо получить перечень запущенных в системе процессов с целью мониторинга. В таких ситуациях могут оказаться полезными утилиты командной строки Linux.
Команда ps — один из таких инструментов, который отображает информацию, относящуюся к процессам в системе Linux. Давайте посмотрим на неё и некоторые важные примеры использования.
Процесс — основной компонент вычислений на Linux. Каждая открываемая вами программа выполняет один или несколько процессов, которые отвечают за работу компьютера. От продвинутого приложения редактирования видео до простой утилиты, такой как команда mv, всё состоит из процессов.
Команда ps (что является аббревиатурой от Process Status) пригодится, когда вы хотите получить список всех запущенных в вашей системе процессов. Эта команда также предоставляет пользователю дополнительную информацию, связанную с этими процессами.
Базовый синтаксис команды ps:
ps [options]
Выполнение команды ps без аргументов даёт следующий результат:
ps
Следующая информация предоставляется в вышеупомянутых выходных данных.
Список всех процессов
Чтобы получить список всех процессов в системе Linux, используйте флаг -A или -e с командой ps.
ps -A ps -e
Просмотр процессов, связанных с терминалом
Флаг -T отобразит список всех процессов, связанных с терминалом.
ps -T
Результат выглядит примерно так.
Отображение не связанных с терминалом процессов
Флаг -a перечислит процессы, которые не связаны с текущим терминалом.
ps -a
На экране отобразится результат.
Отмена указанных параметров
Вы также можете использовать флаг -N или —deselect с командой ps, чтобы инвертировать работу определённого аргумента.
Например, опция -T отображает связанные с терминалом процессов. Добавление флага -N или —deselect с командой покажет процессы, которые не связаны с текущим терминалом.
ps -T -N ps -T --deselect
Отображение настраиваемых столбцов в выводе
Команда ps по умолчанию отображает следующие столбцы: PID, TTY, TIME и CMD. Однако вы можете настроить эти столбцы и вместо этого показать другие сведения.
Флаг -eo позволяет вам указать столбцы, которые вы хотите получить в выводе.
ps -eo pid, uname, pcpu, stime, pri, f
Переименование столбцов в выводе
Вы также можете переименовать метки столбцов в выводе. Это делается при помощи флага -o.
ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND
Список запущенных процессов
Чтобы получить список запущенных в настоящее время в системе процессов, передайте флаг -ax с командой ps. -A означает все (All).
ps -ax
Отображение процессов в формате BSD
В формате Linux для передачи аргументов с командой используется символ — (дефис). С другой стороны, формат BSD не включает никаких специальных символов с флагами аргументов.
Например, ps -A (формат Linux) отобразит список всех процессов. Эквивалент этой команды в BSD:
ps au
где a обозначает All (все), а u обозначает пользователей.
Полный формат списка процессов
Чтобы получить подробную информацию о процессах, передайте с командой параметр -ef или -eF.
ps -ef ps -eF
Вышеупомянутый вывод содержит следующую информацию о процессах.
Получение связанных с пользователем списка процессов
Параметр -u отображает список всех процессов, запущенных конкретным пользователем.
ps -u username
Показ связанных с корневым пользователем процессов
Чтобы отобразить все процессы, запущенные пользователем root, передайте root с флагами -U и -u.
ps -U root -u root
Получение PID процесса
Чтобы получить идентификатор конкретного процесса, используйте флаг -C с командой.
ps -C process-name
Замените process-name именем процесса. На выходе будет отображаться идентификатор процесса.
ps -C bash
Список потоков конкретного процесса
Возможно, вы знаете, что процесс может содержать несколько потоков, каждый из которых отвечает за конкретную задачу. Чтобы отобразить список потоков процесса, используйте флаг -L с командой ps. Обратите внимание, что вам нужно будет передать идентификатор процесса вместе с командой.
ps -L pid
Например
ps -L 1250
Отображение связанного с определённой группой процесса
Также легко получить список процессов, относящихся к определённой группе. Используйте флаг -fG с командой по умолчанию.
ps -fG groupname
В качестве альтернативы вы можете передать идентификатор группы вместо имени g-roup.
ps -fG groupid
Например
ps -fG sudoers ps -fg 1000
Отображение процессов в формате дерева
Чтобы получить иерархическое древовидное представление запущенных процессов в Linux:
ps -f --forest -C bash
Вышеупомянутая команда отобразит все связанные с bash процессы.
Информация о том, какие процессы выполняются на вашем компьютере, может оказаться полезной, если у вас мало ресурсов. Вы можете легко закрыть неотвечающие процессы Linux, которые не нужны в вашей системе, с помощью командной строки.
Для тех, у кого недорогие компьютеры и кому нужна операционная система с обеспечением бесперебойной работы, доступно множество облегчённых дистрибутивов Linux.
Быть может, у вас возникла проблема с сетевым подключением определённой программы и необходимо проверить, открыт…
Если у вас есть электронная почта, скорее всего вы регулярно получаете в свой ящик большое…
Нет лучшего места для продажи NFT, чем OpenSea. От криптокотят (CryptoKitties) до произведений искусства и…
https://youtu.be/68-egN2ZTjg Сброс настроек любого устройства до заводских часто рекомендуется как средство устранения проблем в его…
Мало кто знает, что устройства Chromecast дают возможность вести потоковую трансляцию игр, а не только…
Пользователи всё чаще задумываются о вопросах конфиденциальности при работе с мессенджерами, в том числе с…