Deshabilitar nombres de columna en salida ps


23

¿Cómo formatear la salida del ps -pcomando?

Para no mostrarme algo como esto:

PID TTY                TIME CMD

pero solo PIDs.

Estoy usando Linux

Respuestas:



21

Use --no-headerspara 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 manpágina para psdocumenta claramente esto:

man ps

[snip]

 --no-headers
          Print no header line at all.  --no-heading is an alias for this option.

2
No funciona en macos. Naturall -____-
Avindra Goolcharan

En efecto. No se esperaba que funcionara en MacOS. La pregunta se refería únicamente a Linux, como lo destaca el póster original.
Steve

2
NP Steve. Solo documentarlo aquí para futuros lectores. Las pequeñas diferencias entre las utilidades BSD y Linux son muy irritantes. sed es lo peor
Avindra Goolcharan

OK gracias. Si tiene alguna idea sobre cómo incluir la solución MacOS en la respuesta, ¡con gusto la revisaré!
Steve

2
descubrí que para los encabezados de columna en particular, poner un =después del nombre de la columna al oindicador 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 :))
Avindra Goolcharan

2

Utilizar

ps -p <PIDs> --no-headers

para obtener una lista de PID sin el encabezado.


-1

Para obtener una lista de solo los PID, use:

ps -eo pid

Consulte también la man pssecció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 -oargumento:

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

1
Esto no soluciona el problema de eliminar el encabezado que se muestra.
Kusalananda

Así es como interpreta 'solo mostrar PID'. Algunos pueden interpretar esto simplemente seleccionando una columna, o como aparentemente interpretas: solo valores.
Lambert
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.