Publicitate

În Monitorul de activități există o opțiune de meniu criptic pentru Trimiteți semnal pentru procesare. V-ați întrebat vreodată ce a fost? Dacă îl selectați, veți vedea termeni obscuri, cum ar fi SIGINT și SIGHUP, care nu clarifică exact lucrurile. Ce sunt exact aceste semnale?

Aceste semnale sunt rezultatul Fundația Unix Mac OS X Yosemite, din perspectiva unui utilizator LinuxMac OS X este folosit ca poster pentru o interfață curată și elegantă. În calitate de scriitor Linux, este de datoria mea să fac comparații între distrofii Linux, dar și împotriva concurenței. Citeste mai mult în inima macOS. Terminalul are unele dintre aceste semnale încorporate: când apăsați Ctrl + C pentru a opri o comandă de rulare, trimiteți procesul SIGINT pentru a întrerupe și a opri comanda care rulează în prezent. Au fost unul dintre primele moduri în care aplicațiile pot comunica între ele și fac parte din vechile standarde „Portable Operating System Interface” (POSIX).

Deși este plăcut să înțelegeți elementele de bază ale funcționării sistemului dvs., puteți utiliza și aceste semnale pentru a capta informații despre aplicațiile de comportare greșită.

instagram viewer

Ce este POSIX?

POSIX este standardul de bază pentru sistemele de operare Unix și Unix-Like. Printre aceste sisteme conforme se numără macOS, care a fost făcut pentru a fi compatibil Unix. La baza sa se află Darwin, un nucleu Unix cu rădăcini care datează din NeXTSTEP. Aceasta a fost o furculiță a BSD, una dintre variantele originale Unix.

POSIX asigură că toate aceste sisteme de operare gestionează codul în moduri preconizate, permițând dezvoltatorilor să știe că codul lor este cu adevărat portabil. Atunci când trimit unul dintre aceste semnale pe o altă mașină la un proces, datele pe care le primesc sunt într-un format pe care îl pot anticipa și prelucra. Aceasta este o simplificare brută a aproximativ 40 de ani de istorie de calcul, dar veți primi ideea generală.

Atunci când comunicați cu cei mai de bază daemoni care alcătuiesc baza Unix a macOS, aceste semnale sunt cele mai bune. Daemons sunt procesele de fundal care rulează esențiale ale computerului dvs. sau în comun MacOS limbaj, servicii. Cel infam discoveryd este un exemplu. Acesta a fost înlocuitorul OS X Yosemite 10.10 mDNSResponder, un alt serviciu a dat vina pentru problemele de rețea din actualizarea respectivă.

Linie de comanda
Credit imagine: Dominik Rusiecki prin Freeimages

În funcție de modul în care o aplicație este proiectată pentru a primi semnale, puteți trimite un semnal pentru a renunța la o aplicație pentru a crea ceea ce se numește un „dump core”. Descărcările de bază conțin toate datele curente despre un program care rulează. Acestea sunt esențiale pentru soluționarea problemelor care se blochează constant. Pe Mac, aceste dump în format de fișier Mach-O, pe care le puteți citi în mediul de dezvoltare macOS numit Xcode. Probabil că majoritatea utilizatorilor nu vor face mare lucru cu acestea, dar dacă sunteți frustrați de o problemă a aplicației, pot fi de ajutor pentru a trimite unui dezvoltator pentru asistență.

Există încă un pic de calcul clasic care își arată rădăcinile aici. Formatul de fișier Mach-O își împarte numele cu micro-nucleul Mach. Alături de BSD, aceasta face parte din rădăcinile macOS, iar cele două fac parte din nucleul de bază, XNU. Mach nu este la fel de depozitat ca BSD, deci nu are parte de presă, dar face parte din ceea ce a stabilit sistemul de operare Apple în afară de alte variante Unix.

Deci, cum le pot folosi?

Cu toții am fost acolo înainte: primiți un actualizați la o aplicație sau descărcați o aplicație nouă Cum se instalează și se elimină software-ul Mac: 5 metode simpleAți trecut la un Mac și ați dat seama de elementele de bază? Vă întrebați cum să instalați software-ul din linia de comandă? Aveți aplicații Windows vechi pe care trebuie să le executați pur și simplu pe computerul dvs. Apple? Citeste mai mult și se blochează de fiecare dată când îl deschizi. Tu deschizi Forța Renunțaredin meniul Apple și vedeți că aplicația apare ca Nu raspunde. Mai rău încă, este un proces de fundal care trage sistemul în jos.

Monitor de activitate

Deschis Monitor de activitate și faceți clic pe procesul care nu răspunde. Apoi mergeți la Vedere meniu și selectați Trimite semnal pentru procesare. Un meniu va apărea și vă va permite să alegeți ce semnal să trimiteți la proces selectați semnalul dvs. și apăsați Trimite.

Dacă preferi Terminalul 4 lucruri interesante pe care le poți face cu terminalul MacTerminalul este analogul Mac OS X al promptului de comandă Windows sau CMD. Este un instrument, după cum probabil știți deja, care vă permite să vă controlați computerul folosind comenzi text, spre deosebire de ... Citeste mai mult , veți folosi o comandă cu care sunteți deja familiar. ucide comanda este folosită pentru a opri un proces. Dacă adăugați -s puteți adăuga un număr pentru a trimite un semnal la procesul pe care îl ucideți. Iată o listă a numărului de comenzi comune listă în ucide pagina de man:

  • 1 - HUP (închidere)
  • 2 - INT (întrerupere)
  • 3 - ÎNCEPUT (renunță)
  • 6 - ABRT (abort)
  • 9 - Ucidere (ucidere neatractabilă, ignorabilă)
  • 15 - TERM (semnal de încheiere a software-ului)

Există și alte semnale pe care le puteți trimite, acestea sunt doar cele mai frecvente. Există o listă cuprinzătoare de coduri disponibile aici.

Când le folosesc?

Acum că știți ce să faceți cu semnalele POSIX, le puteți folosi pentru a opri curat procesele suspendate. Pentru a fi corect, nu veți folosi aceste coduri în fiecare zi. Atunci când lucrați cu un dezvoltator la o eroare a unei aplicații ciudate sau când ajutați sysadmin beta să testeze aplicațiile interne ale companiei dvs., aceste coduri vă pot ajuta să obțineți informațiile de care au nevoie.

Dacă aplicația este codată pentru a crea aceste descărcări, le vei găsi în director /cores făcând din acesta un director ușor la care să vă uitați atunci când obțineți date pentru o aplicație blocată sau suspendată. Puteți verifica aici și puteți vedea ce groapă de gunoi se află în director folosind ls -a comanda. Acest lucru vă va arăta toate fișierele din directorul respectiv, apoi le puteți copia într-un director de muzică mai accesibil comanda mv nume de fișier destinație.

În Terminal folosește comanda cd / nuclee pentru a trece la director, apoi ls -a pentru a enumera conținutul. Pentru a muta un fișier în folderul Documente, utilizați pur și simplu nume fișier mv / Utilizatori / nume utilizator / Documente (înlocuind nume de fișier și nume de utilizator).

mackeyboard
Credit imagine: Erika Varga prin Freeimages

Dacă sunteți un utilizator Unix de mult timp care s-a mutat pe Mac, ce alte funcții puțin cunoscute sunt acolo? Dacă sunteți interesat să verificați un proiect care utilizează numai fundație open source a macOS verificați PureDarwin. Spuneți-ne cum a rezultat asta în comentarii. De asemenea, am dori să auzim când semnalele POSIX au rezolvat o problemă încăpățânată cu computerul dvs. Mac.

Ați mai folosit semnalele POSIX pentru rezolvarea problemelor?

Credite imagine: Danot Drobot / Shutterstock

Michael nu a folosit un Mac atunci când erau condamnați, dar poate coda în Applescript. Are diplome în informatică și engleză; de ceva vreme scrie despre Mac, iOS și jocuri video; și este o maimuță IT de zi de peste un deceniu, specializată în scripturi și virtualizare.