Отображение информации о процессе с помощью Procs в Linux
Procs — современная замена ps, написанная на Rust.
В этом руководстве мы обсудим, что такое Procs, как установить Procs в Linux и как отобразить информацию о процессах с помощью Procs в Linux.
Что такое Прокс?
Procs — это утилита командной строки, отображающая информацию об активных и запущенных процессах. Это похоже на традиционную команду Ps, но с некоторыми дополнительными функциями. Разработчик утверждает, что Procs — это современная замена команды Ps.
Procs — это кроссплатформенное приложение, написанное на языке программирования Rust. На момент написания этого руководства Procs полностью поддерживает Linux. Mac OS и Windows поддерживаются экспериментально.
Функции
По сравнению с Ps, Procs имеет несколько преимуществ, перечисленных ниже.
- Он отображает выходные данные в цветном формате.
- Отображает выходные данные в удобочитаемом формате.
-
Отображает дополнительную информацию, которая не поддерживается ps.
- TCP/UDP-порт
- Пропускная способность чтения/записи
- Имя контейнера Docker
- Дополнительная информация о памяти
Установить Procs в Linux
Есть несколько способов установить Procs в Linux. Выберите тот, который подходит вам.
Загрузить двоичный файл Procs:
Загрузите последнюю версию двоичного файла Procs со страницы релизов.
wget https://github.com/dalance/procs/releases/download/v0.13.3/procs-v0.13.3-x86_64-linux.zip
Распакуйте загруженный zip-файл:
unzip procs-v0.13.3-x86_64-linux.zip
Переместите его в свой ` PATH, например /usr/local/bin/:
sudo mv procs /usr/local/bin/
Наконец, сделайте его исполняемым:
sudo chmod +x /usr/local/bin/procs
Использование груза:
Поскольку Procs написан на Rust, мы можем установить его с помощью менеджера пакетов Cargo. Чтобы использовать менеджер пакетов Cargo, установите Rust в Linux, как описано по следующей ссылке.
- Установить язык программирования Rust в Linux
После установки Rust выполните следующую команду для установки Procs:
cargo install procs
Использование Snap:
sudo snap install procs
Использование менеджера пакетов Nix:
nix-env --install procs
Использование Linuxbrew:
brew install procs
После установки Procs вам необходимо сделать следующее, чтобы он работал правильно.
В некоторых средах символы UTF-8 будут выглядеть как странные экранированные символы, как показано ниже.
Чтобы устранить эту проблему, добавьте следующую переменную среды в файлы ~/.bashrc или ~/.bash_profile или ~/.profile:
export LESSCHARSET=utf-8
Обычный пользователь не может получить доступ к некоторой информации (например, пропускной способности чтения/записи) других пользователей, использующих Procs в Linux. Чтобы предоставить обычным пользователям доступ к этой информации, запустите:
$ procs --suid
sudo sh -c "chown root /usr/local/bin/procs; chmod u+s /usr/local/bin/procs"
Все сделано! Пришло время посмотреть, как использовать Procs для просмотра информации о процессах.
Отображение информации о процессе с помощью Procs в Linux
Использование procs практически такое же, как использование команды ps
. Позвольте мне показать вам несколько примеров.
Просмотр информации обо всех процессах
Чтобы отобразить информацию обо всех запущенных процессах на вашем компьютере с Linux, просто запустите:
procs
Пример вывода:
Как видите, Procs отображает подробную информацию обо всех процессах. Это эквивалентно команде «ps aux
», однако выходные данные лучше, чем выходные данные Ps, и содержат некоторую дополнительную информацию, такую как номер порта TCP/UDP, пропускную способность чтения/записи, поддержку цвета и т. д. выйдите из Procs, нажмите q
или CTRL+c
.
Procs будет отображать выходные данные на одной странице за раз. Если выходные строки превышают высоту терминала, пейджер используется автоматически. Вы можете просмотреть остальную часть вывода, нажав клавишу ENTER. Стрелки ВВЕРХ/ВНИЗ можно использовать для перехода к предыдущей или следующей странице.
Отображать процессы, соответствующие строке
Procs может отображать процессы, соответствующие определенному ключевому слову.
Следующая команда отображает совпадения процессов с ключевым словом "sshd
".
procs sshd
Аналогичным образом мы можем отображать информацию о совпадениях процессов с помощью строки sk
.
procs sk
Пример вывода:
Обратите внимание, что будут отображены все процессы, содержащие данную строку. Это не относится к ПОЛЬЗОВАТЕЛЮ или КОМАНДЕ.
Отображать процессы, соответствующие числу
Также возможно отображать информацию о процессе, соответствующую числовым ключевым словам, таким как PID
, TCP
, UDP
. Например, следующая команда отображает сведения о процессах, соответствующие номеру 22:
$ procs 22
PID:▲ User │ State Nice TTY CPU MEM VmPeak VmSize VmRSS TCP UDP Read Write │ CPU Time Start │ Command
│ [%] [%] [bytes] [bytes] [bytes] [B/s] [B/s] │ │
22 root │ S 19 0.0 0.0 0 0 [] [] 0 0 │ 00:00:00 2020/01/08 12:02 │ khugepaged
1030 root │ S 0 0.0 0.3 70.629M 70.602M 5.625M [22] [] 0 0 │ 00:00:00 2020/01/08 12:03 │ /usr/sbin/sshd -D
Как вы видите в приведенном выше выводе, число 22 присутствует в столбцах PID
и TCP
.
Отображать процессы в древовидном виде
Чтобы отобразить информацию обо всех процессах в древовидном формате, запустите:
procs -t
Или,
procs --tree
Все процессы отсортированы по порядку зависимостей, а дерево зависимостей показано слева.
Команда Ps также отображает информацию о процессе в древовидном формате с помощью команды:
ps axjf
Или,
ps -ejH
Однако формат дерева процедур выровнен лучше, чем вывод команды ps
.
Изменить порядок сортировки столбцов
Procs позволяет вам изменить порядок пользователей, состояний, значений Nice, процессорного времени, vmsize, vmrss, столбцов пропускной способности чтения/записи по вашему желанию. Вы можете сократить столбцы в порядке возрастания или убывания.
Например, чтобы отсортировать столбец времени процессора по возрастанию, используйте sorta
(sort ascending) вариант, как показано ниже:
procs --sorta cpu
Аналогично, для сортировки по убыванию используйте опцию sortd
(sort descending):
procs --sortd cpu
Режим просмотра
Procs поддерживает режим просмотра, как и top команда. Вы должны были заметить, что вывод команды Top по умолчанию обновляется автоматически с интервалом 3,0 секунды. Procs также может автоматически обновлять свои выходные данные через заданные пользователем интервалы. Например, чтобы обновлять выходные данные Procs каждые 2 секунды, запустите:
procs --watch 2
Чтобы выйти из режима просмотра, нажмите q
или Ctrl+c
.
Рекомендуем прочитать:
- Как узнать, как долго выполняется процесс в Linux
- Как изменить приоритет процесса в Linux
- Как приостановить процесс и возобновить его позже в Linux
- Reptyr – перенос запущенного процесса с одного терминала на другой, не закрывая его
Более подробную информацию можно найти в разделе помощи.
$ procs --help
procs 0.8.16
USAGE:
procs [FLAGS] [OPTIONS] [--] [KEYWORD]...
FLAGS:
-a, --and AND logic for multi-keyword
-o, --or OR logic for multi-keyword
-d, --nand NAND logic for multi-keyword
-r, --nor NOR logic for multi-keyword
-l, --list Show list of kind
-t, --tree Tree view
--config Generate configuration sample file
--suid Set suid bit and change binary owner to root
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-w, --watch <second> Watch mode
-i, --insert <kind>... Insert column to slot
--sorta <kind> Sort column by ascending
--sortd <kind> Sort column by descending
-c, --color <color> Color mode [possible values: auto, always, disable]
-p, --pager <pager> Pager mode [possible values: auto, always, disable]
--interval <millisec> Interval to calculate throughput [default: 100]
ARGS:
<KEYWORD>... Keywords for search
Что вы думаете об этой утилите? Расскажите нам о своих мыслях в разделе комментариев ниже.
Ресурс:
- Репозиторий Procs на GitHub