GNU/Linux >> Znalost Linux >  >> Linux

sledování výstupu ps aux | grep bla v tmux nebude fungovat?

Spustit

watch "COLUMNS= ps aux | grep TheProcessYouWatch"

Vysvětlení:watch nastavuje určité další proměnné env, jmenovitě COLUMNS a LINES . To lze snadno ověřit porovnáním env | grep COLUMNS a watch 'env | grep COLUMNS' .

Když COLUMNS je nastaveno, ps zkrátí svůj výstup na tolik znaků v řádku, i když je výstup přesměrován na grep (nebo cokoliv jiného). (ps , proč mi to děláš?). Vynucení COLUMNS být prázdný v rámci watch Příkaz 's postačuje k vytvoření ps pracovat tak, jak OP (a já) očekávám.

Btw, vyhnout se watch a grep procesy, které jsou součástí vašeho sledovaného výstupu, zvažte přidání [] takhle:

watch "COLUMNS= ps aux | grep [T]heProcessYouWatch"

(Samozřejmě doporučuji seznámit se s pgrep také. S tím vám pomohou další odpovědi.)


Jak je uvedeno v úpravě otázky a odpovědi xzfc, zdá se, že problém souvisí s zalamováním řádků tmux. Něco blíže k drop-in nahrazení ps aux | grep [q]uote , pokud nepotřebujete informace o uživateli, zkuste:

$ pgrep -af [q]uote
392 bash -c sleep 5 && echo quote
399 bash -c sleep 5 && echo second quote

$ watch pgrep -af [q]uote

-a flag způsobí, že výstup bude obsahovat argumenty příkazového řádku, zatímco -f umožňuje prohledávat argumenty příkazového řádku i pouze název procesu.


ps je nástroj, který vytváří výstup čitelný pro člověka a spoléhat se na uchopení textu čitelného člověkem je špatný nápad. Měli byste použít pgrep myShittyProcess místo ps aux | grep myShittyProcess . pgrep vytváří holý seznam pid, a pokud chcete méně nudný výstup, můžete předat pgrep výstup na ps :

ps -opid,user,args -p `pgrep myShittyProcess`

Chcete-li použít tuto jednu vložku s watch měli byste jej uzavřít do ' ' (nikoli " " ), abyste zabránili předčasnému nahrazení příkazů shellu:

watch 'ps -opid,user,args -p `pgrep myShittyProcess`'

Linux
  1. Získání 256 barev pro práci v Tmux?

  2. Tmux nevyužívá .tmux.conf?

  3. Vim neběží uvnitř Tmux?

  1. Proč mi Grep -o -w neposkytuje očekávaný výkon na Mac OS X?

  2. Linux – sluchátka nefungují Linux Mint 18?

  3. Proč „ukončit &“ nefunguje?

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

  2. grep:příkaz nenalezen

  3. Elegantnější ps aux | grep -v grep