PID
Andra namn: process-ID
Kort svar
Ett PID, eller process-ID, är ett nummer som macOS ger varje process som körs för att identifiera den. Två processer som körs samtidigt har aldrig samma PID, men ett nummer kan återanvändas när processen har avslutats.
Aktivitetskontroll visar PID i en egen kolumn. Terminalkommandon som kill, sample och lsof använder PID för att veta vilken process du menar, eftersom flera processer kan ha samma namn.
I macOS är PID 0 kernel_task och PID 1 launchd, den första processen som startar resten av systemet. Appar du öppnar får högre nummer, och ett nytt PID varje gång de startar.
På den här sidan
Så hittar du en apps PID
Leta upp appen i listan i Aktivitetskontroll och läs av kolumnen PID. Om kolumnen är dold väljer du Innehåll > Kolumner > PID.
I Terminal listar pgrep -l Safari matchande processer med deras PID. ps -p <PID> -o pid,ppid,comm visar en process namn och dess överordnade process PID.
Vad ett överordnat PID berättar
Varje process utom den allra första har en överordnad process, den process som startade den. Om du väljer Innehåll > Alla processer, hierarkiskt i Aktivitetskontroll visas relationerna mellan överordnade och underordnade processer som ett träd.
Så hittar du ett PID i Terminal
Processnamn i Terminal kan skilja sig från appnamn. Många appar kör hjälpprocesser med namn som ”App Helper (Renderer)”, var och en med sitt eget PID.
- Öppna Terminal från Program > Verktygsprogram.
- Kör
pgrep -lx Finderför att få PID för en process som heter exakt Finder. Utelämnaxför att matcha en del av ett namn. - Om en app har flera processer kör du
pgrep -lf "Google Chrome"för att matcha mot hela kommandoraden. - Kör
echo $$för att se ditt eget skals PID.
Så tar du reda på vilken app ett PID tillhör
Felmeddelanden och loggfiler nämner ofta ett PID utan namn. Kör ps -p <PID> -o pid,ppid,user,command för att slå upp det. Kommandot visar programmets fullständiga sökväg, vilken användare som kör det och den överordnade processens PID.
I Aktivitetskontroll klickar du på kolumnrubriken PID för att sortera efter den och rullar sedan till numret. Dubbelklicka på processen för att öppna dess infofönster, som också visar den överordnade processen.
Om ps inte skriver ut något har processen redan avslutats.
Vad du kan göra med ett PID
Kontrollera namnet först med ps -p <PID>. PID:er återanvänds, så ett nummer som du kopierade tidigare kan nu tillhöra en annan process.
kill <PID>ber processen avsluta.kill -9 <PID>stoppar den direkt.sample <PID> 5registrerar vad processen gör i 5 sekunder.lsof -p <PID>listar filerna och nätverksanslutningarna som den har öppna.lsof -a -p <PID> -d cwdvisar mappen som den körs i.top -pid <PID>visar dess aktuella processor- och minnesanvändning. Tryck på q för att avsluta.
När du ska använda ett PID i stället för ett namn
Kommandon som arbetar med namn, som killall Safari eller pkill Safari, påverkar alla processer som matchar. Som standard skickar killall avslutningssignalen till alla matchande processer som du äger, och pkill matchar alla processer vars namn innehåller texten du skriver.
Det går bra för en enskild app, men är riskabelt när många processer har samma namn. En webbläsare kan köra dussintals hjälpprocesser, och flera kopior av node eller python kan höra till olika projekt. Ett PID pekar ut exakt en process, så använd den när du vill stoppa en och låta resten fortsätta.
Om du ändå använder ett namn förhandsgranskar du träffarna först. pgrep -l <name> listar vad pkill skulle påverka, och killall -d <name> skriver ut vad killall skulle göra utan att skicka något.
Frågor som folk ställer
Vad betyder PID i Aktivitetskontroll?
PID står för process-ID. Det är ett unikt nummer för varje process som körs, och används för att skilja processer åt och för att peka ut dem med kommandon i Terminal.
Behåller en app samma PID?
Bara medan den körs. När du avslutar och öppnar en app igen får den ett nytt PID.
Vad är PID 1 på en Mac?
PID 1 är launchd, processen som startar och hanterar andra processer i macOS. Den ska aldrig avslutas.
Hur dödar jag en process med PID på en Mac?
Kör kill <PID> i Terminal. Om den inte avslutas stoppar kill -9 <PID> den direkt, men då kan osparade data gå förlorade.
Kan två processer ha samma PID?
Inte samtidigt. Ett PID kan ges till en ny process efter att den gamla har avslutats.
Vad är PID 0 i Aktivitetskontroll?
PID 0 är kernel_task, som representerar kärnan i macOS. Den kan inte avslutas.
Relaterat
Kommer du från Windows? Läs om Aktivitetshanteraren för Mac, eller om de bästa alternativen till Aktivitetskontroll. Eller bläddra bland alla begrepp i ordlistan.