GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zabít všechny procesy kromě konkrétního?

Na mém lokálním serveru běží mnoho java procesů a zároveň používám Eclipse. Nyní, když potřebuji restartovat své procesy (spouštím procesy pomocí skriptu shellu), před každým spuštěním musím zabít staré procesy pomocí:

Metoda 1:-
kill -9 $Pid (pro každý proces jeden po druhém, což je časově náročné)

Metoda 2:-
killall -9 java (pro všechny procesy – snadné, ale Eclipse bude zbytečně zabito)

V případě Method 2 bude Eclipse také zabito, což nikdy nechci. Je z toho nějaká cesta ven? Vsadím se, že tam musí být 😛

Edit:Používám ubuntu 15.04.

Přijatá odpověď:

Zkuste tento příkaz:

ps ax | grep "java" | egrep -v "eclipse" | cut -b1-06 | xargs -t kill

toto vyhledá všechny procesy obsahující javu a vylučující eclipse a poté je zabije


Ubuntu
  1. Jak přesunout všechny soubory (včetně skrytých) z jednoho adresáře do druhého?

  2. Jak odstranit všechny soubory kromě jednoho pojmenovaného souboru z konkrétní složky?

  3. Zabijte všechny procesy konkrétního uživatele přes SSH

  1. Jak zabít všechny procesy vrácené pgrep

  2. Jak Linux rozlišuje vlákna od podřízených procesů?

  3. Jak mohu zabít procesy starší než t?

  1. Jak zabít všechny procesy vlastněné `uživatelem` na Centos 7?

  2. Jak zabít běžící procesy v Linuxu

  3. Jak zabít všechny procesy s daným částečným názvem?