V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Dffcc
V2EX  ›  Linux

为何在 ps --help all 跟 man ps 找到的命令不完全一样?

  •  
  •   Dffcc · 257 天前 · 1683 次点击
    这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我的环境是 CentOS ,利用 MobaXterm 连接 CentOS 虚拟机,ps --help all ,不管有没有加 all , 都没有 ps axu 的解释,只有 man ps 才会出现,有人知道为什么吗? 还有,举例 docker top mytom -l ,在 docker 中 Top 指令 是否与 ps 指令 相通?

    12 条回复    2024-03-13 09:52:15 +08:00
    hexler
        1
    hexler  
       257 天前
    --help 一般都是包含在二进制里面的,一般就告诉有哪些参数,比较精简,当然也会存在开发漏写写错的情况。
    man 查看的手册一般会放在/usr/share/man/下,还可以有不同的语言版本,内容会更多详细一点。

    至于你说的 docker top 和 ps ,docker top 是 docker 实现的,ps 和它没啥关联吧....
    Dffcc
        2
    Dffcc  
    OP
       257 天前
    Dffcc
        3
    Dffcc  
    OP
       257 天前 via iPhone
    @hexler man 里面,包括所有 - -help 的内容吗?
    jasei
        4
    jasei  
       257 天前
    @Dffcc 那必然是包括的,man 是使用手册,最全面的。
    GenericT
        5
    GenericT  
       257 天前 via Android
    输入参数是二进制自己负责往终端打印,man 是 man 读了对应目录下的文件,再输出给你。内容是什么只取决于写代码的人想输出什么,你打包的时候在 man 里面写 1234 ,help 输出 5678 也是你的自由
    viruscamp
        6
    viruscamp  
       257 天前
    你的版本是什么?真的没有吗?
    $ ps --version
    ps from procps-ng 4.0.4
    $ ps --help all

    Usage:
    ps [options]

    Basic options:
    ...
    a all with tty, including other users
    ...
    x processes without controlling ttys
    ...

    Output formats:
    ...
    u user-oriented format
    ...
    yazinnnn0
        7
    yazinnnn0  
       257 天前


    ~ ps -V
    ps from procps-ng 4.0.4

    ps 版本太老了?
    Dffcc
        8
    Dffcc  
    OP
       257 天前
    @yazinnnn0

    [root@docker ~]# ps --version
    procps-ng version 3.3.10
    [root@docker ~]#

    1. ps 版本是看 CentOS 版本?
    2. 为何你可以直接插图片?
    zlowly
        9
    zlowly  
       257 天前
    其实 ps --help all 最后一行就是
    For more details see ps(1)
    告诉你 man 里有更多细节
    不带减号的 ps axu 是 BSD 句法格式,而--help 显示是 UNIX 和 GNU ,两者参数很多情况下是不同的。
    tomychen
        10
    tomychen  
       257 天前
    有没有一种可能 ps aux 中的 aux 不是一个独立参数而是分别由
    a all with tty, including other users
    u user-oriented format
    x processes without controlling ttys
    集合的参数

    另外
    man 是用户手册的意思
    help 是帮助信息

    所以更细的解释肯定会在 man 里
    viruscamp
        11
    viruscamp  
       256 天前
    你大概把 axu 看成一个参数了.

    我现场编译一个 procps-ng-3.3.10 也是能看见 a x u 参数的

    $ cd procps-ng-3.3.10
    $ ./configure
    $ make
    $ ./ps/pscommand -V
    procps-ng version 3.3.10

    $ ./ps/pscommand --help all

    Usage:
    pscommand [options]

    Basic options:
    ...
    a all with tty, including other users
    ...
    x processes without controlling ttys

    Output formats:
    ...
    u user-oriented format
    ...
    Dffcc
        12
    Dffcc  
    OP
       256 天前 via iPhone
    @viruscamp

    谢谢😊


    'a' 选项:當你在 ps 命令中使用 'a' 选项,它將顯示與終端連接( tty )的所有進程,無論它們是否由當前用戶所擁有。
    'u' 选项:這個选项會以一种处理过的详细的用户格式输出。它將显示更多的信息,包括进程的用户、CPU 使用率、开始时间等。
    'x' 选项: 'x' 选项將显示所有无终端连接的进程。这些通常是后台运行的进程。

    将 'a','u' 和 'x' 选项结合起来使用,ps aux 命令將显示系统上的所有进程的详细用户格式的列表。这导致你可以看到系统上所有的进程,无论它们是否由当前用户拥有,无论它们是否与终端连接,也无论它们是在前台运行还是在后台运行。这使得 ps aux 命令成为了在查看系统状态和性能调优时常用的工具之一。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2758 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:41 · PVG 15:41 · LAX 23:41 · JFK 02:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.