ps 命令有一个ww
输出修饰符(手册页说这是“宽输出,无限长度”)。如果以连字符 ( -ww
)为前缀,此修饰符似乎不起作用和ps 报道了单身的过程(带有-p
选项)。
对于多个进程或者如果是连字符不是使用过,有效。
为什么这样?我是否误解了“宽输出”的含义?这是在 Redhat RHEL 6.5 上进行的。
$ ps -w -p 2180
PID TTY TIME CMD
2180 tty1 00:00:00 mingetty
$ ps -w -p 2180 2182
PID TTY STAT TIME COMMAND
2180 tty1 Ss+ 0:00 /sbin/mingetty /dev/tty1
2182 tty2 Ss+ 0:00 /sbin/mingetty /dev/tty2
输出格式说明符从“CMD”更改为“COMMAND”,具体取决于是否将一个或多个 PID 提供给“-p”。
答案1
ps
有两种语法:BSD 语法和 System V 语法。如果您的选项以连字符开头,则您正在使用 System V 语法。该w
标志是 BSD 语法标志。在 BSD 语法中,您可以只指定进程 ID,而无需任何选项。所以我认为你想要的命令是:
ps ww 2180 2182
(其中 2180、2182 是示例 PID)。