Wyłączanie nazw kolumn w danych wyjściowych ps

23

Jak sformatować wyjście ps -ppolecenia?

Aby nie pokazywać mi czegoś takiego:

PID TTY                TIME CMD

ale tylko PID.

Używam Linuksa.

Kółko i krzyżyk
źródło

Odpowiedzi:

36

Użyj -oopcji, aby wybrać kolumny, które mają być wyświetlane. Jeśli wstawisz =po nazwie kolumny, wiersz nagłówka jest pomijany.

ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
Gilles „SO- przestań być zły”
źródło
Ta odpowiedź ma tę zaletę, że jest przenośna (obsługiwana przez BSD i określona przez POSIX .
Anthony G - sprawiedliwości dla Moniki
21

Użyj, --no-headersaby pominąć wiersz nagłówka.

Wyjście oryginalne:

ps
  PID TTY          TIME CMD
27027 pts/0    00:00:00 bash
27071 pts/0    00:00:00 ps

Z --no-headers:

ps --no-headers
27027 pts/0    00:00:00 bash
27072 pts/0    00:00:00 ps

Łącząc z -p:

ps -p 1 --no-headers
    1 ?        00:00:33 systemd

manAktualizacja pswyraźnie dokumentuje w ten sposób:

man ps

[snip]

 --no-headers
          Print no header line at all.  --no-heading is an alias for this option.
Steve
źródło
2
Nie działa na komputerach Mac. Naturall -____-
Avindra Goolcharan
W rzeczy samej. Nie oczekiwano, że będzie działać na MacOS. Pytanie dotyczyło wyłącznie Linuksa, co podkreślono w oryginalnym plakacie.
steve
2
np steve. Dokumentuję to tutaj dla przyszłych czytelników. Niewielkie różnice między narzędziami BSD i Linux są bardzo irytujące. sed jest najgorszy
Avindra Goolcharan
okej dzięki. jeśli masz jakieś przemyślenia na temat sposobu włączenia rozwiązania MacOS w odpowiedzi, chętnie go poprawię!
steve
2
odkryłem, że dla niektórych nagłówków kolumn umieszczanie =po nazwie kolumny na ofladze jest na wielu platformach. Np. Pokaże ps -p ${pid} -o state=stan procesu ${pid}bez nagłówka. (Tak twierdzi przyjęta odpowiedź :))
Avindra Goolcharan
2

Posługiwać się

ps -p <PIDs> --no-headers

aby uzyskać listę PID bez nagłówka.

dr01
źródło
-1

Aby uzyskać listę tylko PID, użyj:

ps -eo pid

Zobacz także man psrozdział „STANDARDOWE SPECYFIKATORY FORMATU”, aby uzyskać informacje na temat możliwych kolumn.

Osobiście podoba mi się sposób, w jaki Solaris pokazuje możliwe kolumny dla -oargumentu:

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
Lambert
źródło
1
Nie rozwiązuje to problemu usuwania wyświetlanego nagłówka.
Kusalananda
Tak interpretujesz „po prostu wyświetl PID”. Niektórzy mogą to zinterpretować po prostu wybierając jedną kolumnę, lub jak najwyraźniej interpretujesz: tylko wartości.
Lambert