增加 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

相關內容