ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match($0, /some[0-9]/)'
-
当我在我的Debian服务器上运行此命令时,由于空间不足,“group”列的输出将被剥离。
Man ps:“egroup EGROUP进程的有效组ID。如果可以获得并且字段宽度允许,则为文本组ID,否则为十进制表示。
(别名组)。“
我试过了:
ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match($0, /some[0-9]/)'
ps -wwo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match($0, /some[0-9]/)'
ps --width 90000000 -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match($0, /some[0-9]/)'
ps -wweo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group,args | awk 'match($0, /some[0-9]/)' | cat
但是,仍然会将组列转换为小数而不是组名。
所以我的问题是:我怎么能告诉ps总是给我看完整列。
注意:此命令通过php exec()运行。
谢谢。
答案 0 :(得分:2)
通过向列本身添加宽度来解决问题:
ps -eo user,pid,pcpu,pmem,vsz,rss,tty,stat,start,time,group:50,args | awk 'match($0, /some[0-9]/)'
“group:50
”中的50是列的宽度。