前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux ps 命令用法详解

Linux ps 命令用法详解

作者头像
用户8705039
修改2021-06-08 10:56:37
4.1K0
修改2021-06-08 10:56:37
举报
文章被收录于专栏:linux百科小宇宙linux百科小宇宙

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

有很多命令可以帮助你来找到正在运行的进程的信息,但是 ps 以及 top 是最常用的。

在本文中,我们将讨论如何在Linux中使用该 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  最常用于以下选项组合:

BSD 表格

ps aux

该 a 选项告诉 ps 显示所有用户的进程,除了那些与终端没有关联的进程和组长的进程。

的 u 代表,其提供了有关过程的详细信息的用户为导向的格式。

该 x 选项将 ps 在没有控制终端的情况下列出进程。这些主要是在启动时启动并在后台运行的进程。

该命令将显示在标记为 11 个的列的信息 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 [kthreadd]

...

我们已经解释 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 站全格式房源提供有关进程的详细信息。

此命令将显示在标有 7 列信息 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 [kthreadd]

...

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

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 命令能够通过管道和其他命令一块使用.

If you want to display the output of the ps command, one page at a time pipe it to the less command:

如果你不想一次显示 ps 太多的输出,请和 less 命令搭配使用

console-bash ps -ef | less

ps 命令的输出也可以使用 grep 命令过滤结果. 比如只输出 root 用户的进程,可以使用下面的命令

console-bash ps -ef |  grep root

总结

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

更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档