Zabijte všechny procesy patřící uživateli pomocí pkill
Obsah:
Monitor aktivity a tradiční nástroj příkazového řádku „kill“ dokážou zvládnout většinu požadavků na ukončení procesů, ale pokud jste někdy potřebovali zacílit a zabít všechny procesy patřící jednomu uživatelskému účtu, víte může to být frustrující úkol. Ačkoli Activity Monitor umožňuje seřadit „Ostatní uživatelské procesy“ a vybrat více procesů, neumožňuje ukončit více procesů současně.Podobně standardní příkazy kill a killall jsou obecně zaměřeny na konkrétní procesy a ne na každou jednotlivou úlohu patřící konkrétnímu uživatelskému účtu. Zde přichází na řadu příkaz „pkill“, který usnadňuje okamžité ukončení každého jednotlivého procesu patřícího kterémukoli uživateli prostřednictvím terminálu.
Jak zabít všechny procesy uživatele pomocí pkill
Základní syntaxe pro použití pkill k ukončení všech uživatelských procesů je následující:
pkill -u uživatelské jméno
Ověřte, že všechny procesy patřící tomuto uživateli byly ukončeny pomocí parametru -u v příkazu ps:
ps -u uživatelské jméno
Za předpokladu, že vše proběhlo tak, jak bylo zamýšleno, najdete zpět prázdný seznam.
pkill nerozlišuje velká a malá písmena, což znamená, že uživatelské jméno „TestUser“ bude identifikováno stejně jako „testuser“.
Pokud to chcete vyzkoušet na sobě, bylo by nejlepší použít rychlé přepínání uživatelů k zahájení nového přihlášení pomocí jiného uživatelského účtu nebo použít ssh server a provést to na jiném místní Mac. Použití pkill na vašem vlastním aktivním uživatelském jménu způsobí ukončení všech procesů, z nichž některé se obnoví okamžitě, ale mnoho procesů na pozadí se automaticky znovu nespustí. To vede ke všem druhům zvláštního chování a v závislosti na tom, co máte spuštěno, nebuďte příliš překvapeni, když zjistíte, že operační systém bude tak nepoužitelný, že se budete muset buď odhlásit a znovu přihlásit, nebo dokonce restartovat, pokud aktivní uživatel účet, na který pkill cílil, byl na úrovni root nebo na úrovni správce.
Příkaz pkill je při namíření na uživatelská jména trochu blesková a lze si ho představit jako způsob, jak v podstatě násilně ukončit vše, co patří přihlášenému uživateli, ale také z něj může být velmi výkonný nástroj pro odstraňování problémů a při řešení zaniklých nebo zombie procesů, které zůstaly nedotčené i přes odhlášení uživatele.
O příkazu pkill jsme již diskutovali dříve, abychom zabili procesy pomocí zástupných znaků a konkrétních aplikací/procesů patřících jedinému uživateli, a přestože jde o nedávný přírůstek do Macu od doby, kdy Mac OS z Mac OS X Mountain Lion dále je to ve světě Linuxu již nějakou dobu.