Disabilitazione dei nomi di colonna nell'output ps


23

Come formattare l'output del ps -pcomando?

Per non mostrarmi qualcosa del genere:

PID TTY                TIME CMD

ma solo PID.

Sto usando Linux.

Risposte:



21

Utilizzare il --no-headersper omettere la riga di intestazione.

Uscita originale:

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 manpagina per pschiaramente documenta questo:

man ps

[snip]

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

2
Non funziona su macos. Naturall -____-
Avindra Goolcharan,

Infatti. Non mi aspettavo di lavorare su MacOS. La domanda riguardava esclusivamente Linux, come evidenziato dal poster originale.
steve

2
np steve. Basta documentarlo qui per i futuri lettori. Le differenze minori tra i programmi di utilità BSD e Linux sono estremamente irritanti. sed è la peggiore
Avindra Goolcharan,

ok grazie. se hai qualche idea su come includere la soluzione MacOS nella risposta, la rivedrò felicemente!
steve l'

2
ho scoperto che per particolari intestazioni di colonna, inserire un =dopo il nome della colonna sulla obandiera è un modo multipiattaforma per farlo. Ad esempio, ps -p ${pid} -o state=mostrerà lo stato del processo per ${pid}, senza intestazione. (Che è quello che afferma la risposta accettata :))
Avindra Goolcharan,

2

Uso

ps -p <PIDs> --no-headers

per ottenere un elenco di PID senza intestazione.


-1

Per ottenere un elenco dei soli PID utilizzare:

ps -eo pid

Vedi anche la man pssezione 'SPECIFICATORI DI FORMATO STANDARD' per possibili colonne.

Personalmente mi piace il modo in cui Solaris mostra le possibili colonne da utilizzare per l' -oargomento:

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
Questo non risolve il problema della rimozione dell'intestazione visualizzata.
Kusalananda

È così che interpreti "visualizza solo PID". Alcuni possono interpretarlo semplicemente selezionando una colonna, o come apparentemente interpreti: solo valori.
Lambert,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.