Dræb alle processer, der tilhører en bruger med pkill
Indholdsfortegnelse:
Activity Monitor og det traditionelle 'kill'-kommandolinjeværktøj er i stand til at håndtere de fleste procesafslutningsbehov, men hvis du nogensinde har haft brug for at målrette og dræbe alle processer, der tilhører en enkelt brugerkonto, ved du det kan være en frustrerende opgave. Selvom Activity Monitor giver dig mulighed for at sortere "Andre brugerprocesser" og vælge flere processer, tillader den dig ikke at afslutte flere processer på samme tid.Tilsvarende er standard kill- og killall-kommandoer generelt rettet mod specifikke processer og ikke til hver enkelt opgave, der tilhører en specifik brugerkonto. Det er her, 'pkill'-kommandoen kommer ind, hvilket gør det nemt at dræbe hver enkelt proces, der tilhører enhver bruger, med det samme via terminalen.
Sådan dræber du alle processer fra en bruger med pkill
Den grundlæggende syntaks for at bruge pkill til at dræbe alle en brugers processer er som følger:
pkill -u brugernavn
Bekræft, at alle processer, der tilhører denne bruger, er blevet afsluttet ved at bruge flaget -u på ps-kommandoen:
ps -u brugernavn
Forudsat at alt gik efter hensigten, vil du finde en tom liste, der rapporteres tilbage.
pkill skelner ikke mellem store og små bogstaver, hvilket betyder, at et brugernavn for "TestUser" vil blive identificeret på samme måde som "testuser".
Hvis du vil prøve dette på dig selv, ville det være bedst at bruge hurtigt brugerskift til at starte et nyt login med en anden brugerkonto eller bruge ssh-serveren og udføre det på en anden lokale Mac. Brug af pkill på dit eget aktive brugernavn vil få alle processer til at afslutte, hvoraf nogle opdateres øjeblikkeligt, men mange baggrundsprocesser starter ikke automatisk igen. Dette fører til alle mulige ejendommelige adfærd, og afhængigt af hvad du har kørt, skal du ikke blive voldsomt overrasket over at finde ud af, at operativsystemet bliver så ubrugeligt, at du enten bliver nødt til at logge ud og ind igen eller endda genstarte, hvis den aktive bruger konto målrettet af pkill var enten root- eller administrativt niveau.
Pkill-kommandoen er lidt af en blæselampe, når den peger på brugernavne og kan opfattes som en måde at tvangsafslutte alt, der tilhører en logget bruger, men det kan også gøre det til en meget kraftfuld værktøj til fejlfinding og ved håndtering af hedengangne eller zombieprocesser, der er forblevet intakte på trods af, at en bruger logger ud.
Vi har tidligere diskuteret kommandoen pkill til at dræbe processer med jokertegn og specifikke apps/processer, der tilhører en enkelt bruger, og selvom det er en nylig tilføjelse til Mac'en siden Mac OS fra Mac OS X Mountain Lion og fremefter har den eksisteret i Linux-verdenen i et stykke tid.