Respuestas:
Use la -o
opción para seleccionar qué columnas se muestran. Si coloca =
después del nombre de la columna, se suprime la línea del encabezado.
ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
Use --no-headers
para omitir la línea del encabezado.
Salida original:
ps
PID TTY TIME CMD
27027 pts/0 00:00:00 bash
27071 pts/0 00:00:00 ps
Con --no-headers
:
ps --no-headers
27027 pts/0 00:00:00 bash
27072 pts/0 00:00:00 ps
Combinando con -p
:
ps -p 1 --no-headers
1 ? 00:00:33 systemd
La man
página para ps
documenta claramente esto:
man ps
[snip]
--no-headers
Print no header line at all. --no-heading is an alias for this option.
=
después del nombre de la columna al o
indicador es una forma multiplataforma de hacer esto. Por ejemplo, ps -p ${pid} -o state=
mostrará el estado del proceso para ${pid}
, sin el encabezado. (Que es lo que dice la respuesta aceptada :))
Para obtener una lista de solo los PID, use:
ps -eo pid
Consulte también la man ps
sección 'ESPECIFICADORES DE FORMATO ESTÁNDAR' para ver las posibles columnas.
Personalmente, me gusta la forma en que Solaris muestra las posibles columnas para usar para el -o
argumento:
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