
當我運行命令時
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