ps 列自动宽度

ps columns auto width

ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match([=12=], /some[0-9]/)' - 当我在我的 Debian 服务器上 运行 这个命令时, "group" 列的输出将被删除,因为 space 不够。 Man ps: "egroup EGROUP 进程的有效组 ID。如果可以获取并且字段宽度允许,这将是文本组 ID,否则为十进制表示。 (别名组)。” 我试过:

ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match([=11=], /some[0-9]/)'

ps -wwo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match([=11=], /some[0-9]/)'

ps --width 90000000 -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match([=11=], /some[0-9]/)'

ps -wweo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match([=11=], /some[0-9]/)' | cat

但是,组列仍然转换为小数而不是组名。

所以我的问题是:如何让 ps 始终显示完整的列。

注意:此命令 运行 正在通过 php exec()。

谢谢。

问题已通过向列本身添加宽度解决:

ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group:50,args | awk 'match([=10=], /some[0-9]/)'

其中“group:50”中的 50 是列的宽度。