ps aux命令操作

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. 常用选项

除了 auxps 命令还有其他常用选项:

选项说明
-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}'
    
  • 使用 headtail 查看部分输出:
    ps aux --sort=-%mem | head -n 10
    

7. 注意事项

  • ps aux 显示的是命令执行时刻的进程快照,如果需要实时监控进程状态,可以使用 tophtop
  • 僵尸进程(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}'
  • 作用
    1. 查找包含 14_有始有终有总量有json.py 的进程。
    2. 使用 grep -v grep 排除 grep 进程本身。
    3. 使用 awk '{print $2}' 提取进程的 PID(第 2 列)。
  • 输出:符合条件的进程的 PID。

3. 终止进程

ps aux | grep 14_有始有终有总量有json.py | grep -v grep | awk '{print $2}' | xargs kill
  • 作用
    1. 查找并提取符合条件的进程 PID。
    2. 使用 xargs kill 终止这些进程。
  • 说明kill 会发送默认的 TERM 信号(15),要求进程正常退出。

4. 强制终止进程

ps aux | grep 14_有始有终有总量有json.py | grep -v grep | awk '{print $2}' | xargs kill -9
  • 作用
    1. 查找并提取符合条件的进程 PID。
    2. 使用 xargs kill -9 强制终止这些进程。
  • 说明kill -9 发送 KILL 信号(9),强制终止进程,不会给进程清理资源的机会。

优化建议

1. 使用 pgrep 简化命令

pgrep 可以直接查找进程并返回 PID,避免使用 grepawk

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值