ps aux 和 ps -ef

在 Linux/Unix 系统中,ps auxps -ef 都是用于查看进程信息的命令,结合 grep node 可以筛选出与 Node.js 相关的进程。它们的核心功能相似,但在输出格式和选项含义上有区别:


1. 命令对比

命令 含义 主要区别
ps aux BSD 风格语法 列更详细(包含 CPU/内存占用)
ps -ef UNIX System V 风格语法 列更简洁(适合快速查看)

2. 输出格式差异

ps aux 示例输出
复制代码
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
nodeuser   123  1.2  3.1 102344 24500 ?       Sl   10:00   0:05 /usr/bin/node app.js
  • 包含资源信息%CPU(CPU 占用率)、%MEM(内存占用率)、VSZ(虚拟内存)、RSS(物理内存)。
  • 适合调试性能问题
ps -ef 示例输出
复制代码
UID        PID  PPID  C STIME TTY          TIME CMD
nodeuser   123     1  0 10:00 ?        00:00:05 /usr/bin/node app.js
  • 包含父子进程关系PPID(父进程ID)更清晰。
  • 适合查看进程依赖关系

3. 关键区别总结

特性 ps aux ps -ef
语法风格 BSD 风格 UNIX System V 风格
CPU/内存占用 ✅ 显示 ❌ 不显示
PPID(父进程ID) ❌ 不显示 ✅ 显示
TTY 设备 ✅ 显示 ✅ 显示
命令路径 ✅ 完整显示 ✅ 完整显示
常用场景 检查资源占用 查看进程关系

4. 如何选择?

  • 需要分析资源占用 (如 Node.js 内存泄漏)→ 用 ps aux | grep node
  • 需要终止进程时 → 两者均可,但 ps -efPPID 可帮助识别守护进程。
  • 跨系统兼容性ps -ef 更通用(某些嵌入式 Linux 不支持 aux)。

5. 实用技巧

(1) 组合使用 grep 过滤
bash 复制代码
# 排除 grep 进程自身(避免干扰)
ps aux | grep [n]ode
ps -ef | grep [n]ode
(2) 查看完整命令行

若命令被截断,可指定 ww 选项(仅 BSD 风格支持):

bash 复制代码
ps auxww | grep node
(3) 按内存/CPU 排序
bash 复制代码
ps aux --sort=-%mem | grep node  # 按内存降序
ps aux --sort=-%cpu | grep node # 按 CPU 降序

6. 为什么 grep node 可能不够?

Node.js 进程的实际命令可能是:

  • /usr/bin/node
  • node server.js
  • npm start(实际是 Node 子进程)

更全面的筛选:

bash 复制代码
ps aux | grep -E 'node|npm'

总结

  • 功能相同:两者都能找到 Node.js 进程。
  • 细节差异aux 侧重资源,-ef 侧重进程关系。
  • 推荐
    • 调试性能 → ps aux | grep node
    • 管理进程 → ps -ef | grep node + pstree -p <PID>(查看树形结构)。
相关推荐
峥无1 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801681 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux
码云数智-大飞1 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Strugglingler1 小时前
【systemctl 学习总结】
linux·systemd·systemctl·journalctl·unit file
Harvy_没救了2 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信2 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
嵌入式×边缘AI:打怪升级日志3 小时前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
2401_873479403 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩3 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
charlie1145141914 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c