ps -o 调用中的完整命令行

ps -o 调用中的完整命令行

在 Ubuntu 20.04.3 上,调用ps -e -o args,pid,etime,%cpu,%mem --forest | egrep "firefox|PID" | grep -v grep给出以下结果:

COMMAND                         PID     ELAPSED %CPU %MEM
 \_ /usr/lib/firefox/firefo    5730    01:58:40 20.8  4.9
 |   \_ /usr/lib/firefox/fi    5811    01:58:39  0.0  0.2
 |   \_ /usr/lib/firefox/fi    5841    01:58:39  0.1  0.7
 |   \_ /usr/lib/firefox/fi    5895    01:58:39  0.0  0.9
 |   \_ /usr/lib/firefox/fi    5926    01:58:39  4.3  2.0
 |   \_ /usr/lib/firefox/fi    6000    01:58:38 21.7  2.0
 |   \_ /usr/lib/firefox/fi    6094    01:58:32  4.2  0.3
 |   \_ /usr/lib/firefox/fi    7004    01:54:00  1.4  2.0
 |   \_ /usr/lib/firefox/fi    7648    01:37:06  0.8  1.9
 |   \_ /usr/lib/firefox/fi    8351    01:31:35  1.0  1.0
 |   \_ /usr/lib/firefox/fi   12159       45:04  3.5  2.3
 |   \_ /usr/lib/firefox/fi   15712       03:56  2.0  0.9
 |   \_ /usr/lib/firefox/fi   15833       03:25  1.4  0.9
 |   \_ /usr/lib/firefox/fi   16878       02:39  0.0  0.4
 |   \_ /usr/lib/firefox/fi   16924       02:30  0.0  0.4
 |   \_ /usr/lib/firefox/fi   16962       02:24  0.0  0.4

除了缩短的命令行之外,这就是我想要的。添加ww到 ps ( ps -eww) 不会改变输出。 ps auxww --forest | egrep "firefox|PID" | grep -v grep可以,但是是 BSD 风格,而不是我想要的列。

答案1

要输出完整的命令行,无论长度如何,args都需要放在最后:

ps -e -o pid,etime,%cpu,%mem,args --forest

如果你想保留args第一个,你可以指定一个具有你想要的宽度的替代标题名称 - 但这仍然会截断比标题名称长的命令行:

ps -e -o args=args-----------------------------------------------------,pid,etime,%cpu,%mem --forest

相关内容