安卓系统

linux中的ps命令(列出进程)

3-2-4 Linux进程管理命令

3-2-4 Linux进程管理命令

目录:

Anonim

在Linux中,程序的运行实例称为进程。 有时,在Linux机器上工作时,您可能需要找出当前正在运行的进程。

您可以使用许多命令来查找有关正在运行的进程的信息,其中 ps pstree top 是最常用的命令。

本文介绍了如何使用 ps 命令列出当前正在运行的进程以及显示有关那些进程的信息。

如何使用 ps 命令

ps 命令的一般语法如下:

ps

出于历史和兼容性的原因, ps 命令接受几种不同类型的选项:

  • UNIX样式选项,以单个破折号开头。BSD样式选项,不带破折号。GNU长选项,以两个破折号开头。

可以混合使用不同的选项类型,但是在某些特定情况下,可能会出现冲突,因此最好坚持使用一种选项类型。

BSD和UNIX选项可以分组。

以最简单的形式,当不带任何选项使用 ps 时, ps 将打印四列信息,以显示当前外壳程序中运行的至少两个进程,外壳程序本身以及调用命令时在外壳程序中运行的进程。

ps

输出包括有关外壳程序( bash )和在该外壳程序中运行的进程( 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 最常与以下选项组合使用:

BSD形式

ps aux

  • a 选项告诉 ps 显示所有用户的进程。 仅不显示与终端不相关的过程和组长的过程。 u 代表一种面向用户的格式,提供有关进程的详细信息 x 选项指示 ps 在没有控制终端的情况下列出进程。 这些主要是在启动时启动并在后台运行的进程。

该命令在十一行中显示信息,这些行分别标记为 USER PID %CPU %MEM VSZ RSS STAT START TTY TIME CMD

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…

我们已经解释了 PID TTY TIME CMD 标签。 这是其他标签的说明:

  • USER 运行进程的用户。 %CPU 进程的CPU使用率。 %MEM 进程的驻留集大小占计算机上物理内存的百分比。 VSZ -KiB中进程的虚拟内存大小。 RSS 进程正在使用的物理内存的大小。 STAT 进程状态代码,例如 Z (僵尸), S (正在睡眠)和 R (正在运行)。 START 命令开始的时间。

f 选项告诉 ps 显示父进程到子进程的树视图:

ps auxf

ps 命令还允许您对输出进行排序。 例如,要根据内存使用情况对输出进行排序,可以使用:

ps aux --sort=-%mem

UNIX形式

ps -ef

  • -e 选项指示 ps 显示所有进程。- -f 代表全格式列表,其中提供有关进程的详细信息。

该命令在标记为 UID PID PPID C STIME TIME CMD 八列中显示信息。

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

未解释的标签具有以下含义:

  • UID USER 相同,是运行进程的用户。 PPID 父进程的ID。 C %CPU 相同,进程CPU利用率。 STIME START 相同,命令启动的时间。

要仅查看以特定用户身份运行的进程,请键入以下命令,其中 linuxize 是用户名:

ps -f -U linuxize -u linuxize

用户定义格式

o 选项允许您指定在运行 ps 命令时显示哪些列。

例如,要仅输出有关 PID COMMAND ,可以运行以下命令之一:

ps -efo pid, comm

ps auxo pid, comm

与其他命令一起使用 ps

ps 可以通过管道与其他命令结合使用。

ps -ef | less

ps 命令的输出可以使用 grep 过滤。 例如,要仅显示属于root用户的进程,请运行:

ps -ef | grep root

结论

在对Linux系统上的问题进行故障排除时, ps 命令是最常用的命令之一。 它有很多选项,但是通常,大多数用户都使用 ps aux ps -ef 来收集有关正在运行的进程的信息。

有关 ps 更多信息,请在终端中输入 man ps

ps端子