Linux ps 命令用法及示例

Eric 教程 215 次浏览 抢沙发

ps 是 Linux 下查询进程状态的内置命令,可以帮助我们了解程序或事件进程的详细信息。例如 CPU & 内存用量、运行时间、优先级、所属用户等数据,是 Linux 新手必要掌握的常用命令之一。

下面配合示例介绍 ps 命令用法。若要了解 ps 完整参数选项,请用 man ps 命令查看手册内容。

列出所有进程

以完整列表方式输出除内核进程外的全部进程信息。

ps -e -f

若进程太多,终端窗口可能显示不全,可以配合 more 输出(按空格键滚动浏览)。

ps -e -f | more

查询用户进程

以长列表方式输出 root 用户运行的进程(查询多个用户用英文逗号隔开)。

ps -f -l -u root

查找特定进程

查找 nginx 名称的进程信息(-C 参数要知道完整进程名称才能找到)。

ps -f -C nginx

大部分时候为了方便,可以结合 grep 用关键词模糊方式查找。

ps -A | grep ngi*

如果已经知道进程 ID,直接用 -p 参数搜索即可(多个进程用英文逗号分隔)。

ps -f -p 1373

按进程资源用量排序

按进程所占用的 CPU 或内存资源来排序,方便定位那些最耗资源的进程。

查询 CPU 使用率前 5 名的进程。

ps aux --sort=-pcpu | head -n 6

查询内存使用率前 5 名的进程。

ps aux --sort=-pmem | head -n 6

显示进程父子层级

显示所有进程的层级关系。

ps -e -f --forest

显示指定进程的层级关系。

ps -f --forest -C nginx

显示进程线程状态

查询指定进程中内核线程信息,例如查看 123 进程的所有线程。

ps -p 123 -L

自定义进程信息列

输出内容可格式化信息列显示,例如只输出用户名、进程 ID、资源用量、运行时间和命令列。

ps -e -o uname,pid,pcpu,pmem,etime,comm

发表评论

电邮地址用于 Gravatar 头像显示,不会被公开可见。