我已经读过该ps命令可以采用两种格式的标志:
现在,相同的标志可以用于两种格式,例如,执行以下命令的含义相同:
ps -x
ps x
Run Code Online (Sandbox Code Playgroud)
或者 Unix 格式有自己的一组标志,而 BSD 格式有一组完全不同的标志吗?
Ste*_*itt 10
该手册页回答您的问题:
不同类型的选项可以自由混合,但可能会出现冲突。由于与许多标准和
ps实现ps兼容,因此存在一些功能相同的同义选项。请注意,这
ps -aux与 不同ps aux。POSIX 和 UNIX 标准要求ps -aux打印名为“x”的用户拥有的所有进程,以及打印-a选项将选择的所有进程。如果名为“x”的用户不存在,则此 ps 可能会将命令解释为ps aux代替并打印警告。此行为旨在帮助转换旧的脚本和习惯。它是脆弱的,可能会发生变化,因此不应依赖它。
标志不同,但可以组合。通常你会选择一个虽然,例如,无论是ps aux或ps -ef看到的所有进程,而不是一个混合的细节。
唯一的x标志是BSD之一,所以ps x与ps -x产生相同的结果; 但这不适用于两种变体中定义的标志。
所有这些都特定于procps和procps-ng。的等价ps x和ps -x一个“第二次机会”,如果第一遍没有完全解析所有的参数被调用分析阶段的结果; 这在联机帮助页中没有记录,但在源代码的HACKING文件中提到:
除非个性强制 BSD 解析,否则 parser.c 尝试将命令行解析为混合的 BSD+SysV+Gnu 混乱。失败时,尝试进行 BSD 解析。如果在尝试 SysV 解析后BSD 解析失败,则错误消息来自原始 SysV 解析。
| 归档时间: |
|
| 查看次数: |
1588 次 |
| 最近记录: |