如何格式化ps -p
命令的输出?
为了不向我展示这样的东西:
PID TTY TIME CMD
但只是 PID。
我正在使用Linux。
答案1
使用该-o
选项选择显示哪些列。如果将其放在=
列名称之后,则标题行将被隐藏。
ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
答案2
使用--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.
答案3
使用
ps -p <PIDs> --no-headers
获取不带标头的 PID 列表。
答案4
要获取仅包含 PID 的列表,请使用:
ps -eo pid
另请参阅man ps
“标准格式说明符”部分以了解可能的列。
我个人喜欢 Solaris 显示参数可能使用的列的方式-o
:
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