ps aux命令操作
是一个常用的 Linux/Unix 命令,用于显示当前系统中所有用户的进程信息。以下是相关知识的详细说明::进程状态(Process Status)命令。:显示所有用户的进程(包括其他用户的进程)。:以用户友好的格式显示进程信息(详细信息)。:显示没有控制终端的进程(通常是后台进程)。2. 输出字段说明执行后,输出的每一列代表不同的信息: 列表示进程的当前状态,常见的状态字符包括:除了 , 命令还
·
ps aux 是一个常用的 Linux/Unix 命令,用于显示当前系统中所有用户的进程信息。以下是相关知识的详细说明:
1. 命令格式
ps aux
ps:进程状态(Process Status)命令。a:显示所有用户的进程(包括其他用户的进程)。u:以用户友好的格式显示进程信息(详细信息)。x:显示没有控制终端的进程(通常是后台进程)。
2. 输出字段说明
执行 ps aux 后,输出的每一列代表不同的信息:
| 列名 | 说明 |
|---|---|
| USER | 进程的拥有者(用户名)。 |
| PID | 进程ID(Process ID),唯一标识一个进程。 |
| %CPU | 进程占用的 CPU 使用率(百分比)。 |
| %MEM | 进程占用的内存使用率(百分比)。 |
| VSZ | 虚拟内存大小(Virtual Memory Size),单位为 KB。 |
| RSS | 常驻内存大小(Resident Set Size),进程实际占用的物理内存大小,单位为 KB。 |
| TTY | 进程关联的终端(? 表示没有终端,通常是后台进程)。 |
| STAT | 进程状态(见下文详细说明)。 |
| START | 进程启动时间。 |
| TIME | 进程占用 CPU 的总时间(格式为 分钟:秒)。 |
| COMMAND | 启动进程的命令名称或路径。 |
3. STAT 进程状态
STAT 列表示进程的当前状态,常见的状态字符包括:
| 状态字符 | 说明 |
|---|---|
| R | 运行中(Running)或可运行(Runnable)。 |
| S | 睡眠中(Sleeping),通常是等待某个事件完成。 |
| D | 不可中断的睡眠状态(通常是等待 I/O 操作完成)。 |
| Z | 僵尸进程(Zombie),进程已终止但未被父进程回收。 |
| T | 停止(Stopped),通常是被信号暂停(如 Ctrl+Z)。 |
| < | 高优先级进程。 |
| N | 低优先级进程。 |
| s | 会话领导者(Session Leader)。 |
| l | 多线程进程。 |
| + | 前台进程组中的进程。 |
4. 常用选项
除了 aux,ps 命令还有其他常用选项:
| 选项 | 说明 |
|---|---|
-e |
显示所有进程(等同于 -A)。 |
-f |
显示完整格式的进程信息(包括父进程 ID、启动时间等)。 |
-l |
显示长格式的进程信息(包括优先级、nice 值等)。 |
--sort |
按指定字段排序输出(如 --sort=-%cpu 按 CPU 使用率降序排序)。 |
-o |
自定义输出字段(如 ps -o pid,comm,%cpu 只显示 PID、命令和 CPU 使用率)。 |
5. 示例
示例 1:显示所有进程
ps aux
示例 2:按 CPU 使用率排序
ps aux --sort=-%cpu
示例 3:显示特定用户的进程
ps -u username
示例 4:显示特定进程的详细信息
ps -fp <PID>
示例 5:自定义输出字段
ps -eo pid,comm,%cpu,%mem --sort=-%cpu
6. 结合其他命令
ps aux 可以与其他命令结合使用,例如:
- 使用
grep过滤特定进程:ps aux | grep nginx - 使用
awk提取特定字段:ps aux | awk '{print $1, $2, $3}' - 使用
head或tail查看部分输出:ps aux --sort=-%mem | head -n 10
7. 注意事项
ps aux显示的是命令执行时刻的进程快照,如果需要实时监控进程状态,可以使用top或htop。- 僵尸进程(Zombie)通常是由于父进程未正确处理子进程的终止状态,需要检查并修复相关程序。
1. 查找进程
ps aux | grep 14_有始有终有总量有json.py
- 作用:查找包含
14_有始有终有总量有json.py的进程。 - 问题:
grep命令本身也会出现在结果中,因为它也匹配了14_有始有终有总量有json.py。
2. 排除 grep 进程并提取 PID
ps aux | grep 14_有始有终有总量有json.py | grep -v grep | awk '{print $2}'
- 作用:
- 查找包含
14_有始有终有总量有json.py的进程。 - 使用
grep -v grep排除grep进程本身。 - 使用
awk '{print $2}'提取进程的 PID(第 2 列)。
- 查找包含
- 输出:符合条件的进程的 PID。
3. 终止进程
ps aux | grep 14_有始有终有总量有json.py | grep -v grep | awk '{print $2}' | xargs kill
- 作用:
- 查找并提取符合条件的进程 PID。
- 使用
xargs kill终止这些进程。
- 说明:
kill会发送默认的TERM信号(15),要求进程正常退出。
4. 强制终止进程
ps aux | grep 14_有始有终有总量有json.py | grep -v grep | awk '{print $2}' | xargs kill -9
- 作用:
- 查找并提取符合条件的进程 PID。
- 使用
xargs kill -9强制终止这些进程。
- 说明:
kill -9发送KILL信号(9),强制终止进程,不会给进程清理资源的机会。
优化建议
1. 使用 pgrep 简化命令
pgrep 可以直接查找进程并返回 PID,避免使用 grep 和 awk:
pgrep -f '14_有始有终有总量有json.py' | xargs kill
-f:匹配完整的命令行(包括参数)。- 如果需要强制终止,可以加上
-9:pgrep -f '14_有始有终有总量有json.py' | xargs kill -9
2. 使用 pkill 直接终止进程
pkill 可以直接根据名称终止进程:
pkill -f '14_有始有终有总量有json.py'
- 如果需要强制终止,可以加上
-9:pkill -9 -f '14_有始有终有总量有json.py'
总结
- 如果你只需要查找进程 PID,可以使用
pgrep。 - 如果需要终止进程,可以使用
pkill,它更简洁高效。 - 如果需要强制终止进程,可以加上
-9参数。
ps aux | grep ljsang | grep -v grep | awk '{print $2}' | xargs kill -9
ps aux --sort=-%cpu | head -n 11
更多推荐



所有评论(0)