ps -f
使用grep传递管道时,允许我搜索在ps -e
中不可见的进程名称
根据手册-f
的意思
Do full-format listing. This option can be combined with many
other UNIX-style options to add additional columns. It also
causes the command arguments to be printed.
在这种情况下,完整格式的含义是什么?为什么我可以看到在ps -e
中不可见的进程名称?
答案 0 :(得分:1)
ps(1)命令显示“进程状态”。进程具有许多关联的字段(属性),并且ps(1)允许选择应显示的字段。
不幸的是,ps是一个古老的命令,并且使用非常广泛,因此它在不同平台的许多版本中都有所发展,这反映在其命令行用法中:术语和开关(e,-e,f,...)有点(很多)混乱。
全格式,长格式等在某种程度上会引起误解。无论如何,“完整格式”可能意味着,在过去的某个时候,此开关输出了与流程关联的所有相关字段。随着Unix / Linux系统的不断发展,出现了更多的字段,但是出于兼容性考虑,“完整格式”一直未变。因此,最终发明了一个新的术语(“长”格式)来显示与“完整”相比更多(或不同)的字段。
关于与 -e 和 -f 的区别:-e用于 select 进程,而 -f 用于选择要显示的列。两者都应显示CMD列,并带有[启动该过程的命令的名称]。但这还取决于您使用的是哪个系统(unix,bds,linux ...)。
我认为现代ps最有用的功能是允许用户明确选择要显示的每一列的功能。