Linux中的Ps命令-列出进程
在Linux中,程序的运行实例称为进程。有时,在Linux系统上工作时,您可能需要找出当前正在运行的进程。您可以使用许多命令来查找正在运行进程的信息,ps
与top
也是最常用的命令。
在教程中,我们将讨论如何使用ps
命令列出正在运行的进程以及打印进程的信息。包括ps命令与选项解释,ps的BSD/Unix风格,ps的aux选项的展示列的说明,自定义ps输出格式,使用管道组合使用less,grep命令过滤与分页ps的输出,进程状态解释`如僵尸进程,休眠进程,正在运行进程。
如何使用ps
命令
ps
命令的语法如下:
ps [OPTIONS]
出于历史和兼容性的原因,ps
命令接受几种不同类型的选项。UNIX风格选项,后跟一个破折号。BSD风格选项,不带破折号。GNU长选项,后跟两个破折号。
可以混合使用所有类型的选项,但在某些特殊情况下可能会出现冲突,因此最好坚持使用一种类型的选项。BSD和UNIX选项可以分组。
以最简单的形式使用时,不带任何选项。ps
它将打印四列信息,以显示当前shell程序中正在运行的两个进程,shell程序本身以及调用命令时在shell程序中运行的进程。
ps
输出包括shell(bash
)以及在该shell中运行的进程(ps
,您键入的命令)的信息:
PID TTY TIME CMD 1809 pts/0 00:00:00 bash
2043 pts/0 00:00:00 ps
四列分别标记PID
,TTY
,TIME
和CMD
。PID
-进程ID。在大多数情况下,运行ps
命令时,用户寻找的最重要的信息是进程PID。了解PID可以使您终止故障进程。
TTY
进程的控制终端的名称。TIME
进程使用CPU的时间,以分钟和秒为单位。CMD
用于启动进程的命令的名称。
上面的输出不是很有用,因为它包含的信息不多。当使用其他选项启动ps
时,该命令的真正功能才会出现。ps
命令接受大量选项,这些选项可用于显示特定的一组进程以及有关该进程的不同信息,但是在日常使用中只需要少数几个选项。ps
最常与以下选项组合使用:
PS命令BSD风格
如果以BSD的风格使用PS命令不带破折号-
的,以下命令展示我们使用BSD风格ps命令和常用的选项来查看进程信息:
ps aux
这里解释一下选项的含义:a
选项告知ps
显示所有用户的流程,与终端不相关的进程和组的进程除外。u
代表一种面向用户的格式,提供有进程的详细信息。
x
选项让ps
没有控制终端的进程。这些主要是在启动时启动并在后台运行的进程,例如服务。
ps aux
命令将显示11个的列的信息USER
,PID
,%CPU
,%MEM
,VSZ
,RSS
,STAT
,START
,TTY
,TIME
和CMD
。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 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]
...
我们已经解释PID
,TTY
,TIME
和CMD
列。这是其他标签列的说明:
USER
-运行进程的用户。%CPU
-进程的cpu利用率。%MEM
-进程的驻留集大小占计算机上物理内存的百分比。VSZ
-KiB中进程的虚拟内存大小。RSS
-进程正在使用的物理内存的大小。
STAT
-进程状态代码,可以是Z
僵尸进程,S
正在休眠进程,R
正在运行进程...etc。START
-命令开始的时间。
要打印进程树,请添加f
选项。这将告诉ps
显示父进程到子进程的树视图。
ps auxf
ps
命令还允许您对输出进行排序。例如,要根据内存使用情况对输出进行排序,可以使用:
ps aux --sort=-%mem
unix-">PS命令UNIX风格
ps -ef
e
选项指示ps
显示所有进程。f
显示进程的详细信息。
此命令将显示8列的信息包括UID
,PID
,PPID
,C
,STIME
,TIME
和CMD
。
UID PID PPID C STIME TTY TIME CMDroot 1 0 0 19:47 ? 00:00:01 /sbin/init
root 2 0 0 19:47 ? 00:00:00 [kthreadd]
...
未解释的标签列具有以下含义:
UID
与BSD风格的PS命令的USER
列相同,表示运行进程的用户。PPID
父进程的ID。C
与相同%CPU
列相同,表示进程的cpu利用率。STIME
与START
列相同,表示命令启动的时间。
要仅查看以特定用户身份运行的进程,请使用以下命令,其中myfreax
用户名:
ps -f -U myfreax -u myfreax
用户自定义格式
o
选项允许您指定运行ps
命令时将显示哪些列。例如,要仅打印PID
,COMMAND
的信息。您将运行以下命令:
unix风格
ps -efo pid,comm
BSD风格
ps auxo pid,comm
PS命令与管道
ps可以通过命令与其它命令组合使用。如果你分页显示ps命令的信息,则可以通过管道操作符|
,传递给less命令,以达到分页的目的。你将执行以下命令:
ps -ef | less
ps命令的输出也可以通过管道|
传递给grep进行过滤。比如仅展示root用户的进程,你将运行以下命令:
ps -ef | grep root
结论
在ps
对Linux系统上的问题进行故障排除时,该命令是最常用的命令之一。它有很多选项,通常大多数用户都使用ps aux
或ps -ef
来收集正在运行的进程的信息。个人建议使用BSD风格,简单且已读。
所有可用ps
选项的信息,请在终端中输入man ps
。如果您有任何问题或反馈,请随时发表评论。
以上是 Linux中的Ps命令-列出进程 的全部内容, 来源链接: utcz.com/z/507034.html