GNU/Linux >> Znalost Linux >  >> Linux

Jak grep ps výstup s hlavičkami

Řešení 1:

ps -ef | egrep "GMC|PID"

Nahraďte "GMC" a ps přepne podle potřeby.

Příklad výstupu:

[email protected]:~$ ps -ef | egrep "disk|PID"

UID        PID  PPID  C STIME TTY          TIME CMD
paremh1  12501 12466  0 18:31 pts/1    00:00:00 egrep disk|PID
root     14936     1  0 Apr26 ?        00:02:11 /usr/lib/udisks/udisks-daemon
root     14937 14936  0 Apr26 ?        00:00:03 udisks-daemon: not polling any devices

Řešení 2:

Díky geekosaurovi bych pro vaše požadavky rád použil tento příkaz, spíše než samostatný příkaz:

ps -ef | head -1; ps -ef | grep "your-pattern-goes-here"

Záludné je použít ";" podporované shellem k řetězení příkazu.

Řešení 3:

Druhý sloupec je id procesu; 4. je, když byl proces vytvořen (toto je obvykle čas, kdy se váš program spustil, ale ne vždy; zvažte execve() a přátelé); 6. je množství spotřebovaného času CPU. Takže to běží 8 dní a využívá téměř 7 dní CPU, což bych považoval za znepokojivé.

Získání záhlaví ve stejném vyvolání je přinejlepším složité; Udělal bych jen samostatný ps | head -1 . Můžete zvážit použití ps vlastní metody výběru nebo něco jako pgrep místo grep , který ve skutečnosti není navržen tak, aby procházel záhlavími.

Řešení 4:

Řešení egrep je jednoduché a užitečné, ale samozřejmě závisíte na tom, aby hlavička vždy obsahovala 'PID' (více než rozumný předpoklad) a stejný řetězec se nevyskytoval jinde. Hádám, že to pro vaše potřeby stačí, ale pro případ, že by někdo chtěl alternativu, je tu sed.

Sed vám umožní říct "vytisknout první řádek, pak libovolný řádek obsahující vzor". Například:

ps auxwww | sed -n '1p; /PROCESS_NAME_TO_SEARCH/p;'

Přidejte /sed -n/d; k odfiltrování sed:

ps auxwww | sed -n '1p; /sed -n/d; /PROCESS_NAME_TO_SEARCH/p;'

Řešení 5:

jednodušší alternativa:ps -ef | { head -1; grep GMC; }

nahraďte číslo počtem řádků, na kterých se zobrazuje vaše záhlaví.


Linux
  1. Jak spustit vícevláknový Grep v terminálu?

  2. Jak Grep linky, které nezačínají "#" nebo ";"?

  3. Jak se popasovat s barevným výstupem

  1. Jak mohu grep rekurzivně?

  2. Jak grep \nv souboru

  3. Jak mohu zacyklit výstup příkazu shellu?

  1. Jak spustit Grep s více a vzory?

  2. Jak aplikovat filtr na výstup `tail -f` v reálném čase?

  3. iftop - jak vygenerovat textový soubor s jeho výstupem?