IT Blok

kutilovo živobytí kromě www.msi-elektro.cz

Kill všech procesů jedné aplikace/uživatele

Běží-li nám v Linuxu aplikace ve více procesech, při jejím vytuhnutí je dobré si vyrobit nějaký automatický skript (příkaz) pro kill všech těchto procesů. Tzv. hromadný kill.

Řekněme, že máme nainstalovanou aplikaci Documentum. Stane se, že při standardním zastavování nám zůstanou procesy, které se tváří, že jako běží, ale standardní stopovací skript si s nimi neporadí.

Příkaz $ ps -ef | grep docbase nám stále vypisuje procesy.

Napíšeme si jednoduchý příkaz, který můžeme využít i ve skriptu, a který nám vyhledá všechny PID procesů docbase a provede jejich kill.

$ ps -ef | grep docbase | grep -v „grep“ | awk ‚{print $2}‘ | xargs kill -9

Teď si to rozebereme:

  •  ps -ef | grep docbase – tato část nám najde všechny procesy docbase, které běží (nebo se tak tváří) na systému
  • grep -v „grep“ – tato část nám z výpisu odstraní PID procesu grep z předchozí části
  • awk ‚{print $2}‘ – PID se zobrazují v tomto případě ve druhém sloupci výpisu, tímto parametrem si vypíšeme pouze je
  • xargs kill -9 – spustí další příkaz, kterému jako parametry přidá všechna PID, která si vylistoval v přechozích krocích

Tady je hezky vidět, že je to velmi jednoduché. Příkaz pak stačí napsat do nějakého skriptu, který můžeme v případě potřeby opakovaně spouštět.