Döda alla processer som tillhör en användare med pkill
Innehållsförteckning:
Activity Monitor och det traditionella "kill" kommandoradsverktyget kan hantera de flesta processavslutningsbehov, men om du någonsin har behövt rikta in och döda alla processer som tillhör ett enda användarkonto, vet du det kan vara en frustrerande uppgift. Även om Activity Monitor låter dig sortera "Andra användarprocesser" och välja flera processer, tillåter den dig inte att avsluta flera processer samtidigt.På samma sätt är standardkommandona kill och killall i allmänhet inriktade på specifika processer, och inte på varje enskild uppgift som tillhör ett specifikt användarkonto. Det är här "pkill"-kommandot kommer in, vilket gör det enkelt att omedelbart döda varje enskild process som tillhör vilken användare som helst 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 följande:
pkill -u användarnamn
Verifiera att alla processer som tillhör den användaren har avslutats genom att använda flaggan -u på ps-kommandot:
ps -u användarnamn
Förutsatt att allt gick som det var tänkt, hittar du en tom lista som rapporteras tillbaka.
pkill är inte skiftlägeskänslig, vilket betyder att ett användarnamn för "TestUser" kommer att identifieras på samma sätt som "testuser".
Om du ska prova det här på dig själv är det bäst att använda snabbt användarbyte för att initiera en ny inloggning med ett annat användarkonto, eller att använda ssh-servern och utföra det på ett annat lokal Mac. Om du använder pkill på ditt eget aktiva användarnamn kommer alla processer att avslutas, av vilka några uppdateras omedelbart, men många bakgrundsprocesser kommer inte att starta igen automatiskt. Detta leder till alla möjliga märkliga beteenden, och beroende på vad du kör, bli inte särskilt förvånad över att upptäcka att operativsystemet kommer att bli så oanvändbart att du antingen måste logga ut och in igen, eller till och med starta om om den aktiva användaren konto som pkill riktade in sig på var antingen root- eller administrativ nivå.
Kommandot pkill är lite av en blåslampa när det pekas på användarnamn och kan ses som ett sätt att i huvudsak tvångsavsluta allt som tillhör en inloggad användare, men det kan också göra det till en mycket kraftfull verktyg för felsökning och när man hanterar nedlagda eller zombieprocesser som har förblivit intakta trots att en användare loggar ut.
Vi har diskuterat kommandot pkill tidigare för att döda processer med jokertecken och specifika appar/processer som tillhör en enskild användare, och även om det är ett nyligen tillägg till Mac sedan Mac OS från Mac OS X Mountain Lion och framåt, det har funnits i Linux-världen ganska länge.