回答:
-o
オプションを使用して、表示する列を選択します。=
列名の後に置くと、ヘッダー行は抑制されます。
ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
を使用--no-headers
して、ヘッダー行を省略します。
元の出力:
ps
PID TTY TIME CMD
27027 pts/0 00:00:00 bash
27071 pts/0 00:00:00 ps
と --no-headers
:
ps --no-headers
27027 pts/0 00:00:00 bash
27072 pts/0 00:00:00 ps
との組み合わせ -p
:
ps -p 1 --no-headers
1 ? 00:00:33 systemd
これman
をps
明確に文書化したページ:
man ps
[snip]
--no-headers
Print no header line at all. --no-heading is an alias for this option.
=
は、列名の後にo
フラグを付けることは、これを行うクロスプラットフォームの方法であることがわかりました。たとえば、ヘッダーのないのps -p ${pid} -o state=
プロセス状態を表示します${pid}
。(受け入れられた答えは次の
PIDのみのリストを取得するには、次を使用します。
ps -eo pid
こちらもご覧ください man ps
可能な列については、「標準形式の仕様」セクション。
個人的には、-o
引数に使用できる列をSolarisが表示する方法が気に入っています。
ps: option requires an argument -- o
usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]
[ -u userlist ] [ -U userlist ] [ -G grouplist ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]
'format' is one or more of:
user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp