开发工具

Shell之 ps 指令

ps(Process Status)命令是 Unix 和类 Unix 系统中的一个非常有用的工具,用于显示当前系统中运行的进程信息。它提供了关于每个进程的详细信息,如进程 ID(PID)、CPU 使用率、内存使用率、运行时间、命令行等。


基本语法

ps [选项]

选项:用于定制 ps 命令的输出。不同的选项可以组合使用,以获取所需的信息。


常用选项

a:显示与终端相关的所有进程,包括其他用户的进程。

u:以用户为主的格式显示进程信息,包括用户、PID、CPU 使用率、内存使用率、TTY、启动时间、运行时间和命令行。

x:显示没有控制终端的进程。

e:显示所有进程。

f:全格式显示,包括 UID、PID、PPID、C、STIME、TTY、TIME 和 CMD。

l:长格式显示,包括 F、UID、PID、PPID、C、PRI、NI、ADDR、SZ、WCHAN、TTY、TIME 和 CMD。

o:自定义输出格式,后面跟指定的列名。

p:通过进程 ID(PID)选择特定的进程。


常用组合

ps aux:显示所有用户的所有进程(包括没有控制终端的进程),以用户为主的格式。

ps -ef:以全格式显示所有进程。

ps -eo pid,ppid,cmd:自定义输出格式,只显示 PID、PPID 和 CMD 列。


示例

1、显示所有用户的所有进程

ps aux

输出将包括用户、PID、CPU 使用率、内存使用率、TTY、启动时间、运行时间和命令行等信息。


2、以全格式显示所有进程

ps -ef

输出将包括 UID、PID、PPID、C、STIME、TTY、TIME 和 CMD 等列。


3、通过 PID 查看特定进程的信息

ps -p PID

将 PID 替换为实际的进程 ID。


4、自定义输出格式

ps -eo pid,ppid,cmd

这将只显示 PID、PPID 和 CMD 列。


注意事项

1、ps 命令的输出可能因系统配置和用户权限而异,普通用户可能无法看到所有进程的信息。

2、ps 命令的选项非常多,可以通过 man ps 或 ps --help 查看所有可用的选项和它们的描述。

3、在使用 ps 命令时,了解常用的选项和组合可以帮助你更快地获取所需的信息。

4、对于复杂的进程监控需求,可能需要结合使用其他工具,如 top、htop 或 atop。