当前位置: 首页 > news >正文

ps aux 和 ps -ef

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


1. 命令对比

命令含义主要区别
ps auxBSD 风格语法列更详细(包含 CPU/内存占用)
ps -efUNIX 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 auxps -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 过滤
# 排除 grep 进程自身(避免干扰)
ps aux | grep [n]ode
ps -ef | grep [n]ode
(2) 查看完整命令行

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

ps auxww | grep node
(3) 按内存/CPU 排序
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 子进程)

更全面的筛选:

ps aux | grep -E 'node|npm'

总结

  • 功能相同:两者都能找到 Node.js 进程。
  • 细节差异aux 侧重资源,-ef 侧重进程关系。
  • 推荐
    • 调试性能 → ps aux | grep node
    • 管理进程 → ps -ef | grep node + pstree -p <PID>(查看树形结构)。
http://www.dtcms.com/a/290582.html

相关文章:

  • RNS805 是针对 O-RAN 联盟兼容 Cat A O-RU 优化的 SoC,符合 3GPP 5G/4G 标准。
  • 模式识别与机器学习课程笔记(1):数学基础
  • 【深度学习新浪潮】如何系统性地学习扩散模型?
  • Elasticsearch 是 NVIDIA Enterprise AI Factory 验证设计中推荐的向量数据库
  • WAMP配置局域网https服务
  • 旋转目标检测(Rotated Object Detection)技术概述
  • 漏洞扫描 + 渗透测试:双轮驱动筑牢网络安全防线
  • Pandas - JSON格式数据操作实践
  • iOS —— 3Gshare项目总结与思考
  • 【网络安全】DDOS攻击
  • Python Matplotlib中的fontdict参数说明
  • 学习日志7.21
  • 【HarmonyOS】ArkUI - 声明式开发范式
  • 产品剖析之AI创作与协作的未来革新者Flowith
  • 【编程语言】C、C++、C#深度对比:三种语言的演进历程与应用场景
  • zabbix企业级分布式监控环境部署
  • Django关于ListView通用视图的理解(Cursor解释)
  • 牛客周赛 Round 101题解
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十六天
  • 阶段1--Linux中的网络配置
  • rt-thread多线程消息队列通信
  • 【SAP-CO】成本控制范围
  • 清理磁盘空间
  • 4 种更新的方法将消息从安卓传输到 Mac
  • JavaEE初阶第十期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(八)
  • 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第二篇):核心参数与光照模型
  • CS课程项目设计4:支持AI人机对战的五子棋游戏
  • RustDesk自建服务器完整部署指南:从零开始到成功连接。成功解决rustdesk报错:未就绪,请检查网络连接
  • Linux的系统调用机制总结
  • [Python] -项目实战10- 用 Python 自动化批量重命名文件