在Linux 程序的运行实例称为进程。有时在Linux工作时,您可能需要找出当前正在运行的进程。
您可以使用许多命令来查找正在运行进程的信息,ps
与top
也是最常用的命令。
在教程中,我们将讨论如何在Linux使用ps
,pstree,top命令列出正在运行的进程以及打印进程的信息。
PS 命令查看进程
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的进程。ps命令是最基本同时也是非常强大的进程查看命令。
使用ps
命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、有没有僵死进程、哪些进程占用了过多的资源等等。
总之进程大部分信息都是可以通过ps
命令获取。
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 19:47 0:00 [kthreadd]
...
ps aux
命令将显示11个的列的信息USER
,PID
,%CPU
,%MEM
,VSZ
,RSS
,STAT
,START
,TTY
,TIME
和CMD
。
我们已经解释PID
,TTY
,TIME
和CMD
列。这是其他标签列的说明,USER
运行进程的用户。
%CPU
进程的cpu利用率。%MEM
进程的驻留空间大小占计算机物理内存的百分比。
VSZ
进程的虚拟内存大小,以KiB作为单位。RSS
进程正在使用的物理内存的大小。
STAT
进程状态代码,可以是Z
僵尸进程,S
正在休眠进程,R
正在运行进程等。START
命令开始的时间。
top 命令查看进程
top
以全屏交互式的界面显示进程排名,及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次,其作用基本类似于Windows系统中的任务管理器。
Tasks 系统任务信息包括,total总进程数。running正在运行的进程数。sleeping休眠的进程数。stopped中止的进程数。zombie僵死进程数。
CPU信息包括,us用户占用。sy内核占用。ni优先级调度占用。id空闲CPU。wa
I/O等待占用。
hi硬件中断占用。si软件中断占用。st虚拟化占用。了解空闲的CPU百分比,主要看%id部分。
Mem内存信息包括,total总内存空间;used已用内存;free空闲内存。buffers缓存区域。
Swap交换空间信息包括,total总交换空间。used已用交换空间。free空闲交换空间。cached缓存空间。
pstree 命令查看进程
pstree -aup
以树状图的方式呈现进程之间的派生关系,显示效果比较直观。-a
选项显示每个程序的启动命令,包含路径,参数。 -p
选项显示进程的pid。 -u
显示用户名称。
如果使用用户名作为参数,pstree仅显示该用户拥有的进程。例如,命令pstree myfreax
将仅显示由myfreax用户启动的进程。
如果将进程PID指定为参数,pstree将显示一棵以指定进程根的树。例如命令pstree 1943
。
要打印指定进程的父进程,请使用-s
选项,后跟进程PID,例如命令pstree -s 1943
。
pstree myfreax
pstree 1943
pstree -s 1943