Поиск по сайту:

Отображение информации о процессе с помощью 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 будут выглядеть как странные экранированные символы, как показано ниже.

Нечетные экранированные символы в выводе Procs

Чтобы устранить эту проблему, добавьте следующую переменную среды в файлы ~/.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 в Linux

Как видите, 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

Отображать процессы в древовидном виде с помощью proc

Все процессы отсортированы по порядку зависимостей, а дерево зависимостей показано слева.

Команда 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

Статьи по данной тематике