Linux
和类 Unix
操作系统中的 ps
(Process Status)命令用于显示当前系统中活动进程状态的命令。它提供了关于系统中正在运行的进程的详细信息,如进程 ID(PID)
、父进程 ID(PPID)
、运行时间、使用的 CPU
和内存资源、用户信息、终端信息、进程状态等。
基本语法:options
参数用于指定要显示的进程信息和格式。
bash
ps [options]
常用参数
a
:显示所有用户的进程(包括其他用户的进程)。u
:以用户为主的格式显示进程信息。x
:显示没有控制终端的进程。e
:显示所有进程。f
:以完整格式显示进程信息,包括父子进程关系。l
:以长格式显示进程信息。o
:自定义要显示的列。例如,ps -eo pid,ppid,cmd
会显示进程ID
、父进程ID
和命令名。p
:仅显示指定PID
的进程。例如,ps -p 1234
会显示PID
为1234
的进程。C
:仅显示属于特定CPU
核心的进程。t
:仅显示与指定终端关联的进程。T
:显示线程信息。Z
:显示安全上下文(SELinux
)。
常见示例
1、 显示所有进程
- 显示所有进程,并以完整格式显示:
bash
ps -ef
- 从所有进程中搜索
mysql
进程的详细信息:
bash
ps -ef | grep mysql
- 过滤特定用户的进程:
bash
ps -ef | grep username
- 显示所有用户的所有进程,并以用户为主的格式显示:
bash
ps aux
- 显示没有控制终端的进程
bash
ps -x
- 显示进程
ID
为1234
的进程的详细信息:
bash
ps -p 1234 -f
- 自定义显示进程
ID
、父进程ID
、命令名和内存使用率:
bash
ps -eo pid,ppid,cmd,%mem
- 结合
sort
和awk
命令,可以按CPU
使用率排序:
bash
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
名称解释
- PID:进程ID,每个进程都有一个唯一的PID。
- PPID:父进程ID,表示创建该进程的父进程的PID。
- C:CPU使用率,表示进程占用的CPU时间百分比。
- STIME:进程启动时间。
- TTY:终端类型,表示进程关联的终端。
- TIME:进程使用的CPU时间。
- CMD:命令名或命令行,表示启动进程的命令。
- %MEM:内存使用率,表示进程占用的物理内存百分比。
- %CPU:CPU使用率,表示进程在当前CPU时间片内占用的百分比。