Döda alla processer som hör till en användare med pkill

Aktivitetsmonitor och det traditionella kommandoradsverktyget "kill" kan hantera de flesta processanslutningsbehoven, men om du någonsin behöver att rikta och döda alla processer som tillhör ett enda användarkonto, vet du att det kan vara en frustrerande uppgift. Även om Activity Monitor kan du sortera "Andra användarprocesser" och välja flera processer, tillåter du inte att säga upp flera processer samtidigt. På liknande sätt riktar standard kill-och killall-kommandona i allmänhet specifika processer, och inte vid varje enskild uppgift som tillhör ett visst användarkonto. Det här är kommandot "pkill", vilket gör det enkelt att omedelbart döda varje enskild process som tillhör någon användare via terminalen.

Hur man dödar alla processer från en användare med pkill

Den grundläggande syntaxen för att använda pkill för att döda alla användares processer är som följer:

pkill -u username

Verifiera att alla processer som tillhör den användaren har avslutats med hjälp av -u-flaggan på ps-kommandot:

ps -u username

Antag att allt gick som planerat, så hittar du en tom lista som rapporteras tillbaka.

pkill är inte skiftlägeskänslig, vilket betyder att användarnamnet "TestUser" kommer att identifieras som "testuser".

Om du ska försöka ut det själv är det bäst att använda snabb användarbyte för att initiera en ny inloggning med ett annat användarkonto eller att använda ssh-servern och utföra den på en annan lokal Mac. Om du använder pkill på ditt eget aktiva användarnamn kommer alla processer att upphöra, varav några uppdateras omedelbart, men många bakgrundsprocesser startar inte automatiskt igen. Detta leder till all sorts egendomligt beteende, och beroende på vad du kör är det inte hemskt förvånat att hitta operativsystemet blir så oanvändbart att du antingen behöver logga ut och in igen, eller ens omstart om den aktiva användaren Konto som riktades av pkill var antingen rot eller administrativ nivå.

Pkill-kommandot är lite av en blowtorch när det pekar på användarnamn och kan betraktas som ett sätt att väsentligen tvinga allt som tillhör en inloggad användare, men det kan också göra det till ett mycket kraftfullt verktyg för felsökning och när man hanterar defunct eller zombieprocesser som har förblev intakta trots att en användare loggade ut.

Vi har diskuterat kommandot pkill före för att döda processer med jokertecken och specifika appar / processer som tillhör en enda användare, och även om det är ett nyligen tillägg till Mac sedan OS X Mountain Lion, har det funnits i Linux-världen under en längre tid .