Linux ps 命令用法及示例
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