Linux ps 命令Linux ps 命令Linux ps 命令Linux ps 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux ps 命令

介绍

ps 命令是 Linux 中广泛使用的实用程序,它提供当前进程及其状态的快照。它有助于监控正在运行的进程,识别进程 ID (PID)、终端类型 (TTY)、CPU 时间使用情况、命令名称、用户 ID 和其他信息。本文全面概述了 ps 命令在现实生活中的各种用例。

ps 命令的语法

ps 命令的基本语法如下 -

$ ps [OPTIONS]

ps 命令支持三种不同的语法风格:Unix、BSD 和 GNU。 Unix 风格语法可以换行且前面有连字符,BSD 可以换行但前面不能有连字符,GNU 语法使用长选项并且前面有双连字符。

ps 命令选项

以下是与 ps 命令一起使用的一些开关 -

  • ps -ef 或 ps -aux - 以完整格式列出当前正在运行的进程

  • ps -ax - 列出当前正在运行的进程

  • ps -u <用户名> - 列出特定用户的进程

  • ps -C - 列出给定命令的进程

  • ps -p - 列出具有给定 PID 的进程

  • ps -ppid - 列出具有给定父进程 ID (PPID) 的进程

  • pstree - 在层次结构中显示进程

  • ps -L - 列出特定进程的所有线程

  • ps --sort pmem - 查找内存泄漏

  • ps -eo - 显示安全信息

  • ps -U root -u root u - 显示 root 运行的进程

ps 命令的用例

让我们看一下 ps 命令的实际用例,这对系统管理员很有帮助。

列出所有正在运行的进程

要查看系统上当前运行的所有进程,请使用以下命令 -

$ ps -ef
UID    	PID  PPID  C  STIME  TTY     TIME     CMD
root      1 	0    0  Jan31   ?    00:00:00  /sbin/init splash
root      2 	0    0  Jan31   ?    00:00:00  [kthreadd]
root      3 	2    0  Jan31   ?    00:00:00  [rcu_gp]
root      4 	2    0  Jan31   ?    00:00:00  [rcu_par_gp]
root      5 	2    0  Jan31   ?    00:00:00  [kworker/0:0-events]
...

在上面的输出中,PID表示正在运行的命令的进程ID,TTY是当前命令正在执行的终端类型,TIME > 是CPU执行进程所花费的时间,CMD是当前命令。

列出按 CPU 或内存使用情况筛选的所有正在运行的进程

要查看按 CPU 或内存使用情况过滤的所有当前正在运行的进程,请使用以下命令 -

$ pd-aux
USER   	 PID   %CPU  %MEM   VSZ   RSS   TTY  STAT  START   TIME  COMMAND
root      1    0.0   0.0   19404  3116   ?    Ss    Jan31   0:00  /sbin/init splash
root      2    0.0   0.0     0 	   0     ?    S	   Jan31   0:00  [kthreadd]
root      3    0.0   0.0     0 	   0     ?    R	   Jan31   0:00  [rcu_gp]
root      4    0.0   0.0     0 	   0     ?    S	   Jan31   0:00  [rcu_par_gp]
root      5    0.0   0.0     0 	   0     ?    S	   Jan31   0:00  [kworker/0:0-events]
...

在上面的输出中,%CPU 显示进程当前的 CPU 使用情况,%MEM 显示进程的内存使用情况,VSZ 是进程的内存使用情况。虚拟内存的大小,RSS 是常驻池的大小。

列出特定用户的进程

要查看特定用户运行的所有进程,请使用以下命令 -

$ ps -u <username>

例如,要查看 root 用户的所有进程,请使用以下命令 -

$ ps -u root
USER   	PID  %CPU   %MEM    VSZ   RSS   TTY    STAT  START   TIME  COMMAND
root     1    0.0   0.0    19404  3116   ?    	Ss   Jan31   0:00  /sbin/init splash
root     2    0.0   0.0      0 	    0    ?    	S    Jan31   0:00  [kthreadd]
root     3    0.0   0.0      0 	    0    ?    	R    Jan31   0:00  [rcu_gp]
root     4    0.0   0.0      0 	    0    ?    	S    Jan31   0:00  [rcu_par_gp]
root     5    0.0   0.0      0 	    0    ?    	S    Jan31   0:00  [kworker/0:0-events]
...

特定命令的进程列表

要查看特定命令运行的所有进程,请使用以下命令 -

$ ps -C <command>

例如,要查看 python 命令的所有正在运行的进程,请使用以下命令 -

$ ps -C python
USER   	PID  %CPU  %MEM	  VSZ   RSS   TTY   STAT   START   TIME  COMMAND
root   	123   0.0   1.2  95768  23844  ?     S	   12:00   0:05  python
user1  	456   0.2   0.9  95768  23844  ?     S	   13:00   0:03  python
...

列出具有给定 PID 的进程

要查看具有给定 PID 的进程,请使用以下命令 -

$ ps -p <PID>

例如,要查看 PID 123 的进程,请使用以下命令 -

$ ps -p 123
USER   	PID  %CPU  %MEM	  VSZ    RSS  TTY   STAT   START   TIME  COMMAND
root   	123   0.0   1.2  95768  23844  ?     S	   12:00   0:05  python

结论

ps 命令是一个非常强大的工具,用于管理 Linux 上的进程。无论您是要监视特定进程、查找占用过多内存或 CPU 的进程,还是监视系统上运行的所有进程,ps 命令都能提供您所需的信息。它是任何 Linux 管理员或高级用户的必备工具。

©2015-2025 艾丽卡 support@alaica.com