Dræb alle processer tilhørende en bruger med pkill

Aktivitetsovervågning og det traditionelle "kill" -kommandolinjeværktøj er i stand til at håndtere de fleste procesafslutningsbehov, men hvis du nogensinde har brug for at målrette og dræbe alle processer, der tilhører en enkelt brugerkonto, ved du, at det kan være en frustrerende opgave. Selvom Activity Monitor giver dig mulighed for at sortere "Andre brugerprocesser" og vælge flere processer, tillader det ikke dig at opsige flere processer på samme tid. På samme måde er standard kill- og killall-kommandoerne generelt rettet mod specifikke processer, og ikke på hver enkelt opgave, der tilhører en bestemt brugerkonto. Det er her kommandoen 'pkill' kommer ind, hvilket gør det nemt at øjeblikkeligt dræbe hver enkelt proces, der tilhører nogen bruger via terminalen.

Sådan dræbes alle processer fra en bruger med pkill

Den grundlæggende syntaks for at bruge pkill til at dræbe alle brugerprocesser er som følger:

pkill -u username

Bekræft, at alle processer, der tilhører den bruger, er blevet opsagt ved hjælp af -u-flag på ps-kommandoen:

ps -u username

Forudsat at alt gik som ønsket, vil du finde en tom liste anmeldt tilbage.

pkill er ikke følsom, hvilket betyder at et brugernavn til "TestUser" vil blive identificeret som "testuser".

Hvis du vil prøve det på dig selv, er det bedst at bruge hurtig brugerskift til at starte et nyt login med en anden brugerkonto eller at bruge ssh-serveren og udføre den på en anden lokal Mac. Brug af pkill på dit eget aktive brugernavn vil medføre, at alle processer ophører, hvoraf nogle opdateres øjeblikkeligt, men mange baggrundsprocesser starter ikke automatisk igen. Dette fører til alle slags ejendommelig adfærd, og afhængigt af hvad du har kørt, bliver ikke forfærdeligt overrasket over at finde, at operativsystemet bliver så ubrugeligt, at du enten skal logge ud og 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 blowtorch, når den peges på brugernavne og kan betragtes som en måde at i væsentlig grad afslutte alt, der tilhører en logget bruger, men det kan også gøre det til et meget kraftfuldt værktøj til fejlfinding og når man beskæftiger sig med defunct eller zombieprocesser, der har forblev intakte trods en bruger, der logger ud.

Vi har diskuteret pkill-kommandoen før 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 OS X Mountain Lion, har den været i Linux-verden i nogen tid .