增加 ps -o 列宽

增加 ps -o 列宽

当我运行命令时

ps -e -o cmd,stime,etime=

cmd被截断,因此cmd路径被截断。如何设置列宽格式以便显示所有文本?

答案1

在 GNU/Linux 中,您可以按如下方式设置列宽:

ps -e -o cmd:50,stime,etime=

来自附注(1)手册页:

-o 格式

用户定义的格式。 format 是空格分隔或逗号分隔列表形式的单个参数,它提供了一种指定各个输出列的方法。下面的标准格式说明符部分描述了已识别的关键字。可以根据需要重命名标头 (ps -o pid,ruser=RealUser -o comm=Command)。如果所有列标题均为空 (ps -o pid= -o comm=),则不会输出标题行。列宽将根据宽标题的需要而增加;这可用于加宽列,例如 WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm)。还提供显式宽度控制(ps opid,wchan:42,cmd)。ps -o pid=X,comm=Y 的行为因个性而异;输出可以是名为“X,comm=Y”的一列或名为“X”和“Y”的两列。如有疑问,请使用多个 -o 选项。使用 PS_FORMAT 环境变量根据需要指定默认值; DefSysV 和 DefBSD 是可用于选择默认 UNIX 或 BSD 列的宏。

答案2

在 Ubuntu 18.04 中,命令:

ps -eo comm:25,pid

确实会加宽 COMMAND 列,但它不会停止截断,即使命令短于 25 个字符:

gsd-printer                2384 
gvfsd-trash                2397
evolution-calen            2401
ibus-engine-sim            2429
dconf-service              2436
evolution-calen            2445
evolution-addre            2457
evolution-addre            2468
fwupd                      2488

相关内容