ps aux | grep 关键词可查找进程,需用grep -v grep或[k]eyword避开grep自身;pid在第二列,可用awk提取,再配合kill终止进程。

用 ps aux 配合 grep 查找特定进程,核心是先列出全部进程,再按关键词筛选出目标行,关键在于避免把 grep 自身也当成匹配结果。
基础用法:快速定位进程是否存在
直接组合命令即可:
-
ps aux | grep nginx—— 列出所有含 “nginx” 的进程行,包括主进程和可能的 worker 进程 -
ps aux | grep python3—— 找正在运行的 Python3 脚本或服务 -
ps aux | grep java—— 显示所有 Java 进程(但结果里通常会多出一条grep java)
避开 grep 自身:让结果更干净
因为 ps aux | grep java 这条命令本身也会被 grep 匹配到,导致输出里混入无关的 grep 行。常用两种写法绕过:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
ps aux | grep java | grep -v grep—— 用grep -v排除掉含 “grep” 的行 -
ps aux | grep [j]ava—— 把关键字首字母放进方括号,grep命令自身不匹配该模式,结果更简洁
提取 PID:为后续操作做准备
查到进程后,通常需要它的 PID(进程 ID),它在 ps aux 输出的第二列。可配合 awk 提取:
-
ps aux | grep '[n]ginx' | awk '{print $2}'—— 只输出匹配行的 PID -
ps aux | grep 'myapp\.py' | head -1 | awk '{print $2}'—— 取第一个匹配项的 PID,适合脚本中使用
结合 kill 终止进程(可选延伸)
拿到 PID 后可以直接终止:
-
kill $(ps aux | grep '[n]ginx' | awk '{print $2}')—— 杀掉第一个匹配的 nginx 进程 -
kill -9 $(ps aux | grep 'zombie' | awk '{print $2}')—— 强制终止(慎用,-9 不给进程清理机会)










