Reklame

I Activity Monitor er der en kryptisk menuindstilling til Send signal til processen. Har du nogensinde spekuleret på, hvad det var? Hvis du vælger det, ser du obskure udtryk som SIGINT og SIGHUP, som ikke nøjagtigt rydder op. Så hvad er disse signaler præcist?

Disse signaler er et resultat af Unix foundation Mac OS X Yosemite, fra perspektivet af en Linux-brugerMac OS X bruges som plakatbarn til en ren og elegant grænseflade. Som Linux-forfatter er det min pligt at sammenligne Linux-distros, men også imod konkurrencen. Læs mere i hjertet af macOS. Terminal har nogle af disse signaler indbygget: når du rammer Ctrl + C For at stoppe en kørende kommando sender du processen SIGINT at afbryde og stoppe den aktuelt kørende kommando. De var en af ​​de første måder, apps kunne kommunikere med hinanden og er en del af de gamle “Portable Operating System Interface” (POSIX) standarder.

Selvom det er dejligt at forstå det grundlæggende om, hvordan dit system fungerer, kan du også bruge disse signaler til at indsamle oplysninger om, at der ikke opføres apps.

Hvad er POSIX?

POSIX er grundlæggende standard for Unix og Unix-lignende operativsystemer. Blandt disse kompatible systemer er macOS, som blev gjort til at være Unix-kompatibel. Kernen ligger i Darwin, en Unix-kerne med rødder, der går tilbage til NeXTSTEP. Det var i sig selv en gaffel af BSD, en af ​​de originale Unix-varianter.

POSIX sikrer, at alle disse operativsystemer håndterer kode på forventede måder, så udviklere kan vide, at deres kode virkelig er bærbar. Når de sender et af disse signaler på en anden maskine til en proces, er de data, de får tilbage, i et format, de kan forudse og behandle. Dette er en grov forenkling af omkring 40 års computerhistorie, men du får den generelle idé.

Når du kommunikerer med de mest basale dæmoner, der udgør Unix-basen af ​​macOS, er disse signaler de bedste. Demoner er baggrundsprocesser, der kører det væsentlige på din computer - eller til fælles MacOS parlance, tjenester. Den berygtede discoveryd er et eksempel. Dette var OS X Yosemite 10.10 erstatning for mDNSResponder, en anden service skylden for netværksproblemerne i denne opdatering.

Kommandolinje
Billedkredit: Dominik Rusiecki via Freeimages

Afhængig af den måde, en app er designet til at modtage signaler, kan du sende et signal for at afslutte en app for at oprette det, der kaldes en kernedump. Core dumps indeholder alle de aktuelle data om et kørende program. Disse er vigtige for fejlfinding af apps, der konstant går ned. På Mac dumpes disse i Mach-O-filformat, som du kan læse i MacOS-udviklingsmiljøet kaldet Xcode. De fleste brugere gør sandsynligvis ikke meget med disse, men hvis du er frustreret over et app-problem, kan de være nyttige at sende til en udvikler for support.

Der er endnu en lille smule klassisk computing, der viser dens rødder her. Mach-O-filformatet deler sit navn med Mach-mikrokernen. Sammen med BSD er dette en del af rødderne af macOS, og de to er en del af den grundlæggende kerne, XNU. Mach er ikke så lagret som BSD, så det får ikke meget af pressen, men er en del af, hvad der adskiller Apples operativsystem fra andre Unix-varianter.

Så hvordan kan jeg bruge dem?

Vi har alle været der før: du får en opdater til en app, eller download en ny app Sådan installeres og fjernes Mac-software: 5 lette metoderSkiftet til en Mac og fået fat i det grundlæggende? Spekulerer du på, hvordan du installerer software fra kommandolinjen? Har du gamle Windows-apps, som du simpelthen skal køre på din Apple-computer? Læs mere , og det hænger hver gang du åbner det. Du åbner Tving opfra Apple Menu og se applikationen vises som Svarer ikke. Værre er det, at det er en eller anden baggrundsproces, der trækker dit system ned.

Aktivitetsmonitor

Åben Aktivitetsmonitor og klik på processen, der ikke svarer. Gå derefter til Udsigt menu og vælg Send signal til behandling. En menu vises, og giver dig mulighed for at vælge hvilket signal du vil sende til processen, vælg dit signal og trykke på Sende.

Hvis du foretrækker terminalen 4 seje ting, du kan gøre med Mac-terminalenTerminalen er Mac OS X-analog til Windows-kommandoprompten eller CMD. Det er et værktøj, som du sandsynligvis allerede ved, der giver dig mulighed for at kontrollere din computer ved hjælp af tekstkommandoer, i modsætning til ... Læs mere , bruger du en kommando, du allerede er bekendt med. Det dræbe kommando bruges til at stoppe en proces. Hvis du tilføjer -s Du kan tilføje et nummer for at sende et signal til den proces, du dræber. Her er en liste over antallet af fælles kommandolister i dræbe mand side:

  • 1 - HUP (læg på)
  • 2 - INT (afbryde)
  • 3 - SLUK (afslutte)
  • 6 - ABRT (abort)
  • 9 - KILL (ikke-fangelig, ikke-ignorabel drab)
  • 15 - TERM (software terminering signal)

Der er nogle andre signaler, som du også kan sende, disse er bare de mest almindelige. Der er en omfattende liste over koder, der er tilgængelige her.

Hvornår bruger jeg dem?

Nu hvor du ved, hvad du skal gøre med POSIX-signalerne, kan du bruge dem til at stoppe dine ophængte processer rent. For at være retfærdig skal du ikke bruge disse koder hver dag. Når du arbejder med en udvikler i et ulige app-nedbrud eller hjælper din sysadmin-beta med at teste din virksomheds interne apps, kan disse koder hjælpe med at få de oplysninger, de har brug for.

Hvis appen er kodet for at oprette disse dumps, vil du finde dem i biblioteket /cores gør dette til et nemt bibliotek at se på, når du får data til et program, der går ned eller hænger sammen. Du kan tjekke her og se, hvilke dumpe der er i biblioteket ved hjælp af ls -a kommando. Dette viser dig alle filerne i det bibliotek, hvorefter du kan kopiere dem til en mere tilgængelig katalogmusik kommandoen mv filnavn destination.

I Terminal brug kommando cd / kerner for at skifte til biblioteket, derefter ls -a for at liste med indholdet. For at flytte en fil til mappen Dokumenter skal du blot bruge mv filnavn / Brugere / brugernavn / Dokumenter (erstatter filnavn og brugernavn).

mackeyboard
Billedkredit: Erika Varga via Freeimages

Hvis du er en længe Unix-bruger, der flyttede til Mac, hvilke andre lidt kendte funktioner er derude? Hvis du er interesseret i at tjekke et projekt, der kun bruger open source foundation af macOS tjek PureDarwin. Fortæl os, hvordan det fungerede i kommentarerne. Vi vil også gerne høre, når POSIX-signaler løste et stædigt problem med din Mac.

Har du brugt POSIX-signaler til fejlfinding før?

Billedkreditter: Dean Drobot / Shutterstock

Michael brugte ikke en Mac, da de var dømt, men han kan kode i Applescript. Han har grader i datalogi og engelsk; han har skrevet om Mac, iOS og videospil i et stykke tid nu; og han har været en IT-abe på dagen i over et årti og har specialiseret sig i scripting og virtualisering.