
コマンドを実行すると
ps -e -o cmd,stime,etime=
列cmd
が切り捨てられ、cmd
パスも切り捨てられます。すべてのテキストが表示されるように列幅をフォーマットするにはどうすればよいですか?
答え1
GNU/Linux では、列幅を次のように設定できます。
ps -e -o cmd:50,stime,etime=
からps(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」という名前の 1 つの列になる場合もあれば、「X」と「Y」という名前の 2 つの列になる場合もあります。疑わしい場合は、複数の -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