it-swarm-eu.dev

Zabijete všechny procesy uživatelů v Ubuntu?

Jak zabít všechny procesy jednoho uživatele?

Když udělám ps aux Získám seznam procesů s několika uživateli a chci zabít veškerý proces uživatele name1 například! Co je to příkaz v Ubuntu?

23
user15992

V tomto případě je to docela jednoduché, můžete pomocí killall zabít nebo poslat jakýkoli jiný signál na spoustu procesů najednou. Jednou z možností filtrování je vlastník: killall --user name1

30
njsg

Přidání další možnosti, protože to nikdo nezmínil, a nemám rád killall (jeho použití na Solaris může způsobit katastrofu).

pkill je přenosnější

pkill -u username
16
Patrick

Identifikujte uživatele a poté killall -user <username>

K jejich přihlašovací relaci bude mít přidružený bash (nebo podobný) proces, který zabije jejich relaci.

Chcete-li získat potenciálně lepší přehled o tom, co uživatel dělá - zkuste pstree <username>

2
SuperBOB

Nainstalujte slay:

aptitude install Slay

Poté vydejte slay some-user.

Uvědomte si, že pokud zabijete věci pro uživatele, pro které neznáte účel, může se stát, že váš stroj bude nepoužitelný (až do restartování).

Pokud opravdu nechcete nainstalovat Slay:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(Počkej chvíli)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
1
jmtd