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

Unix、GNU、BSD 风格中 ps 参数的区别

注:本文为“不同风格中 ps 命令参数的区别”相关文章合辑。
未去重。


BSD 风格和 UNIX 风格中 ps 参数的区别

作者:Daniel Stori

译者:LCTT Name1e5s

| 2017-06-17 10:53

One Last Question

One Last Question

ps aux 以及 ps -elf 都是查看进程的方式,分别来自于 BSD 风格(必须不带 -)和 UNIX 风格(必须带 -),这两种方式都有不少人用,此外除了这种可组合的单字母选项方式之外,还有以 -- 开头的 GNU 选项方式。

这个漫画就是说使用这两种方式的人就像 vim 党和 Emacs 党一样,随时都可能爆发圣战(大误 )。

附录

ps aux 是最常用的 BSD 风格选项组合,其中的 a 简单的说,表示所有关联到终端的进程,如果同时使用 x 则代表所有进程;u 表示列出进程的用户。

另外,可能是由于错用 ps -aux 的人太多,一些新的 ps 版本会在输入 ps -aux 时显示 ps aux 的结果,而不是 ps -aux 原本的意义:列出用户 x 所有的进程,如果没有则报错。

ps -elf-e 代表列出所有进程,-l 代表长格式,-f 代表完整的格式,有时候也用 -F 代表超完整的格式,具体大家试试便知。 不过,不同操作系统(如 Linux、BSD)的 ps 的版本和参数有很大差异,具体还是要以各自的手册而定。

另外一句题外话,之所以 aux-elf 这两种选项组合常用,是由于这个组合正好是易记、易读的英文单词(辅助、精灵),其组合后的用途也很有用。这种情况也出现在其它的常见命令中。

注:本漫画中原来用的是 ps -eLF,在某些版本上这个参数是成立的,但是,大部分情况下都使用的是 ps -elf,因此我们做了修改。


Linux 三种风格(Unix、BSD、GNU)下的 ps 参数说明

阿喵不是猫于 2018-11-30 17:03:08 发布

Linux 系统中使用 ps 命令支持 3 种不同类型的命令行参数:

  • Unix 风格的参数,前面加单破折线

  • BSD 风格的参数,前面不加破折线

  • GNU 风格的长参数,前面加双破折线

Unix 风格

img

img

其中 - f 显示的完整格式输出信息有:

  • UID: 启动这些进程的用户。
  • PID: 进程的进程 ID。
  • PPID: 父进程的进程号 (如果该进程是由另一个进程启动的)
  • C: 进程生命周期中的 CPU 利用率
  • STIME: 进程启动时的系统时间
  • TTY: 进程启动时的终端设备
  • TIME: 运行进程需要的累计 CPU 时间
  • CMD: 启动的程序名称

-l 输出的信息还会增加一些:

  • F : 内核分配给进程的系统标记
  • S : 进程的状态 (O 代表正在运行;S 代表在休眠;R 代表可运行,正等待运行;Z 代表僵
    化,进程已结束但父进程已不存在;T 代表停止)
  • PRI : 进程的优先级 (越大的数字代表越低的优先级)
  • NI : 谦让度值用来参与决定优先级
  • ADDR : 进程的内存地址
  • SZ : 假如进程被换出,所需交换空间的大致大小
  • WCHAN : 进程休眠的内核函数的地址

BSD 风格

img

img

在 BSD 风格下的 l 参数输出的信息基本与 Unix 一致,但也有一些不一样:

  • VSZ: 进程在内存中的大小,以千字节 (KB) 为单位
  • RSS: 进程在未换出时占用的物理内存
  • STAT: 代表当前进程状态的双字符状态码

许多系统管理员都喜欢 BSD 风格的 l 参数。它能输出更详细的进程状态码 (STAT 列)。双字符状态码能比 Unix 风格输出的单字符状态码更清楚地表示进程的当前状态。

第一个字符采用了和 Unix 风格 S 列相同的值,表明进程是在休眠、运行还是等待。第二个参数进一步说明进程的状态。

  • < : 该进程运行在高优先级上
  • N : 该进程运行在低优先级上
  • L : 该进程有页面锁定在内存中
  • s : 该进程是控制进程
  • l : 该进程是多线程的
  • + : 该进程运行在前台

GNU 风格

GNU 的参数是长参数。

img

img
详见《Linux命令行与shell脚本编程大全第3版》

https://download.csdn.net/download/ruibin_cao/11167006(链接已沉寂)


via:

  • one last question
    http://turnoff.us/geek/one-last-question/

    作者:Daniel Stori 译者:name1e5s 校对:wxy 合成:name1e5s 点评:name1e5s 本文由 LCTT 原创编译,Linux中国. 荣誉推出

  • Linux 三种风格(Unix、BSD、GNU)下的 ps 的参数说明_unix,gnu,bsd 选项之间的关系 - CSDN 博客 阿喵不是猫于 2018-11-30 17:03:08 发布
    https://blog.csdn.net/ruibin_cao/article/details/84660224


http://www.kler.cn/a/430259.html

相关文章:

  • Rust 中调用 Drop 的时机
  • Mac中配置vscode(第一期:python开发)
  • 二十三种设计模式-原型模式
  • Linux服务器网络不通问题排查及常用命令使用
  • 【人工智能计算机视觉】——深入详解人工智能计算机视觉之图像处理之基础图像处理技术
  • 二、模型训练与优化(1):构建并训练模型
  • git将一个项目的文件放到另一个项目的文件夹下
  • 适配器模式 (Adapter) · 对象适配器 · 类适配器 · 实际开发中的应用
  • 游戏引擎学习第35天
  • 群控系统服务端开发模式-应用开发-邮件发送工具类
  • 【opencv入门教程】3. Rect 类用法
  • 嵌入式学习(15)-stm32通用GPIO模拟串口发送数据
  • 设计模式-装饰器模式(结构型)与责任链模式(行为型)对比,以及链式设计
  • 大舍传媒-关于海外媒体宣发的探讨
  • 【ONE·基础算法 || 动态规划(四)】
  • Hadoop不同版本的区别
  • apt 包 源 的维护 和缓存 命令
  • github操作学习笔记
  • 内存管理面试常问
  • 【LLM】NSSCTF Round#25 Basic大模型Prompt挑战全解
  • postman-9.12.2 -- 安装包及汉化包
  • VAS1260Q奇力LED驱动芯片DCDC降压恒流可替代Diodes8860
  • 浙江省有一级科技查新机构吗?
  • 【Homework】【8】Learning resources for DQ Robotics in MATLAB
  • PHP:实现两张无关联表数据的联合分页处理方案
  • 我们跟面试训练营不冲突