如何在Linux上使用Procs显示进程信息
Procs是一个命令行实用程序,用于显示有关活动进程和正在运行的进程的信息。
就像传统的Ps命令一样,但具有一些另外的功能。
它被称为Ps命令的现代替代品。
Procs用Rust编程语言编写,并且是跨平台的。
在撰写本教程时,Procs完全支持Linux。
Mac OS和Windows受实验支持。
在这个简短的教程中,让我们看看如何在Linux上使用Procs安装Procs以及如何显示进程信息。
特点
与Ps相比,Procs具有以下一些优点。
- 它以彩色格式显示输出。
- 以人类可读的格式显示输出。
- 显示ps不支持的其他信息。
- TCP/UDP端口
- 读/写吞吐量
- Docker容器名称
- 更多内存信息
- 以树状视图显示进程。
- 支持分页。
安装程序
有几种方法可以在Linux上安装Procs。
选择一个适合。
下载Procs二进制文件:
从发行页面下载最新的Procs二进制文件。
$wget https://github.com/dalance/procs/releases/download/v0.8.16/procs-v0.8.16-x86_64-lnx.zip
解压缩下载的zip文件:
$unzip procs-v0.8.16-x86_64-lnx.zip
将其移至$PATH,例如/usr/local/bin /:
$sudo mv procs /usr/local/bin/
最后,使其可执行:
$sudo chmod +x /usr/local/bin/procs
使用Rust:
由于Procs是用Rust编写的,因此我们可以使用Cargo软件包管理器进行安装。
安装Rust后,运行以下命令以安装Procs:
$cargo install procs
使用捕捉:
$sudo snap install procs
使用Nix包管理器:
$nix-env --install procs
使用Linuxbrew:
$brew install procs
安装Procs之后,我们需要执行以下操作以使其正常运行。
在某些环境中,UTF-8字符看起来像下面这样的奇怪的转义字符。
要解决此问题,请在~/.bashrc或者~/.bash_profile或者~/.profile文件中添加以下环境变量:
export LESSCHARSET=utf-8
普通用户无法使用Linux上的Procs访问其他用户的某些信息(例如,读/写吞吐量)。
要使普通用户能够访问这些信息,请运行:
$procs --suid sudo sh -c "chown root /usr/local/bin/procs; chmod u+s /usr/local/bin/procs"
全部做完!现在该看看如何使用Procs来查看有关进程的信息。
在Linux上使用Procs显示进程信息
Procs的用法与Ps命令几乎相同。
请允许我向我们展示一些示例。
查看有关所有进程的信息
要显示有关Linux机器上所有正在运行的进程的信息,只需运行:
$procs
Procs显示有关所有进程的详细信息。
这等效于“ ps aux”命令,但是输出比Ps输出更好,并且具有一些其他信息,例如TCP/UDP端口号,读/写吞吐量和颜色支持等。
要退出Procs,请按q或者CTRL + c。
Procs一次将输出显示在一页中。
如果输出线超过端子高度,则会自动使用寻呼机。
我们可以通过按ENTER键查看其余的输出。
向上/向下箭头可用于转到上一页或者下一页。
显示匹配字符串的进程
Procs能够显示与特定关键字匹配的进程。
以下命令显示与关键字“ sshd”匹配的进程。
$procs sshd
同样,我们可以显示与字符串sk匹配的进程的信息。
$procs sk
请注意,它将显示包含给定字符串的所有进程。
它不是特定于USER或者COMMAND的。
显示与数字匹配的进程
也可以显示与数字关键字(例如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 2016/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 2016/01/08 12:03 │ /usr/sbin/sshd -D
从上面的输出中可以看到,PID和TCP列中的数字为22.
以树状视图显示进程
要以树状格式显示有关所有进程的信息,请运行:
$procs -t
或者,
$procs --tree
所有进程均按依赖性顺序排序,并且依赖性树显示在左侧。
ps命令还使用以下命令以树格式显示进程信息:
$ps axjf
或者,
$ps -ejH
但是,Procs树格式比Ps命令的输出更好地对齐。
更改列的排序顺序
Procs允许我们根据需要更改用户,状态,Nice值,cpu时间,vmsize,vmrss,读/写吞吐量列的顺序。
我们可以缩短列以升序或者降序结果。
例如,要按升序对cpu时间列的顺序进行排序,请使用sorta(升序)选项,如下所示:
$procs --sorta cpu
同样,要以降序排序,请使用sorted(降序排序)选项:
$procs --sortd cpu
监控模式 watch模式
Procs支持监视模式,就像top命令一样。
我们应该已经注意到,默认情况下,Top命令的输出以3.0秒的间隔自动更新。
Procs还可以按照用户指定的时间间隔自动更新其输出。
例如,要每2秒更新一次Procs的输出,请运行:
$procs --watch 2
要退出监视模式,请按q或者Ctrl + c。
可以在帮助部分中找到更多详细信息。
$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