Rješavanje problema Mac aplikacija na stari način pomoću POSIX signala

  • William Charles
  • 0
  • 732
  • 183
Oglas

U Monitoru aktivnosti postoji mogućnost kriptičnog izbornika za Pošaljite signal na obradu. Jeste li se ikad zapitali što je to? Ako ga odaberete, vidjet ćete nejasne izraze kao što su SIGINT i SIGHUP, što stvari ne raščisti. Pa što su točno ti signali?

Ti su signali rezultat Unix osnove Mac OS X Yosemite, iz perspektive Linux korisnika Mac OS X Yosemite, iz perspektive Linux korisnika Mac OS X koristi se kao dijete postera za čisto i elegantno sučelje. Kao Linux pisac, moja je dužnost uspoređivati ​​Linux distribucije, ali i protiv konkurencije. u srcu macOS-a. Terminal ima ugrađen neki od ovih signala: kada udarite Ctrl + C da zaustavite započetu naredbu, šaljete postupak SIGINT prekinuti i zaustaviti trenutno pokrenutu naredbu. Oni su bili jedan od prvih načina na koji su aplikacije mogle komunicirati jedna s drugom i dio su starog “Prijenosno sučelje operativnog sustava” (POSIX) standarda.

Iako je lijepo razumjeti osnove funkcioniranja vašeg sustava, ove signale možete koristiti i za snimanje podataka o nepropisnim aplikacijama.

Što je POSIX?

POSIX je temeljni standard za Unix i Unix-Like operativne sustave. Među tim sukladnim sustavima je i macOS za koji je Unix kompatibilan. U svojoj srži je Darwin, Unix jezgra s korijenom koji potiče iz NeXTSTEP-a. I sama je bila vilica BSD-a, jedna od originalnih Unix varijanti.

POSIX osigurava da svi ovi operativni sustavi upravljaju s kodom na očekivane načine, omogućujući programerima da znaju da je njihov kod doista prenosiv. Kad jedan od tih signala pošalju na drugi stroj procesu, podaci koji se vrate dobivaju se u formatu koji mogu predvidjeti i obraditi. Ovo je grubo pojednostavljenje za oko 40 godina povijesti računarstva, ali vi dobivate opću ideju.

Pri komunikaciji s najosnovnijim demonima koji čine Unix bazu macOS-a ti su signali najbolji. Demoni su pozadinski procesi koji pokreću osnove vašeg računala - ili zajedničke usluge macOS-a. Zloglasni discoveryd je primjer. Ovo je zamjena za OS X Yosemite 10.10 za mDNSResponder, drugi servis okrivljen za mrežne probleme u tom ažuriranju.

Kreditna slika: Dominik Rusiecki putem Freeimagesa

Ovisno o načinu na koji je aplikacija osmišljena za prijem signala, možete poslati signal za napuštanje aplikacije kako biste stvorili ono što se naziva jezgrirani deponij. Osnovne deponije sadrže sve trenutne podatke o tekućem programu. Ovo je neophodno za rješavanje problema aplikacija koje se stalno ruše. Na Macu se ti deponiraju u Mach-O formatu datoteke koje možete čitati u macOS razvojnom okruženju zvanom Xcode. Većina korisnika vjerojatno neće učiniti mnogo s tim, ali ako vas muči problem s aplikacijom, oni bi mogli biti od pomoći programeru za podršku.

Ovdje postoji još jedna sitnica klasičnog računanja koja pokazuje svoje korijene. Format datoteke Mach-O dijeli ime s Mach mikrokernelom. Uz BSD, ovo je dio korijena macOS-a, a dva su dio temeljnog jezgra, XNU. Mach nije toliko strog kao BSD, pa ne dobiva puno tiska, ali dio je onoga što Apple operativni sustav izdvaja od ostalih Unix inačica.

Pa kako ih mogu koristiti?

Svi smo bili tamo prije: dobivate ažuriranje aplikacije ili preuzmete novu aplikaciju. Kako instalirati i ukloniti Mac softver: 5 jednostavnih metoda kako instalirati i ukloniti Mac softver: 5 jednostavnih metoda prebacuje se na Mac i stiže na obrađuje se s osnovama? Pitate se kako instalirati softver iz naredbenog retka? Imate stare Windows aplikacije koje jednostavno morate pokrenuti na Apple računalu? , a objesi se svaki put kada ga otvorite. Ti otvori Force Quit s Apple izbornika i pogledajte da se aplikacija prikazuje kao Ne odgovara. Što je još gore, neki pozadinski proces povlači vaš sustav dolje.

Otvorena Monitor aktivnosti i kliknite na postupak koji ne reagira. Zatim idite na Pogled izbornika i odaberite Pošaljite signal na obradu. Pojavit će se izbornik i omogućiti vam da odaberete koji signal želite poslati procesu, a zatim odaberite signal i pritisnite Poslati.

Ako više volite Terminal 4 cool stvari koje možete učiniti s Mac Terminal 4 cool stvari koje možete učiniti s Mac Terminal Terminal je Mac OS X analogni naredbeni redak Windows ili CMD. Kao što vjerojatno već znate, to je alat koji vam omogućuje kontrolu vašeg računala pomoću tekstualnih naredbi, za razliku od njih ... koristit ćete naredbu s kojom ste već upoznati. ubiti naredba se koristi za zaustavljanje procesa. Ako dodate -a možete dodati broj da biste poslali signal procesu koji ubijate. Ovdje je popis broja uobičajenih popisa naredbi u ubiti man stranica:

  • 1 - HUP (spuštanje slušalice)
  • 2 - INT (prekid)
  • 3 - QUIT (prestati)
  • 6 - ABRT (prekinuti)
  • 9 - UBIJI (ubojstvo koje nije moguće uhvatiti, ne može se ignorisati)
  • 15 - TERM (signal raskida softvera)

Možete poslati i neke druge signale, koji su samo najčešći. Ovdje je dostupan opširan popis kodova.

Kada ih koristim?

Sada kada znate što učiniti s POSIX signalima, možete ih koristiti za čisto zaustavljanje vaših obješenih procesa. Da budemo fer, ove kodere nećete koristiti svaki dan. Kada radite s programerom na neobičnom padu aplikacija ili pomažete svom sysadmin beta testiranju internih aplikacija vaše tvrtke, ovi kodovi mogu vam pomoći da dobijete potrebne informacije.

Ako je aplikacija kreirana radi stvaranja ovih odlagališta, pronaći ćete ih u direktoriju / jezgre što olakšava ovaj direktorij pri dobivanju podataka za rušenje ili zaustavljenu aplikaciju. Ovdje možete provjeriti i vidjeti koje se deponije nalaze u direktoriju koristeći ls -a naredba. Ovo će vam pokazati sve datoteke u toj mapi te ih možete kopirati u pristupačniju glazbu direktorija naredbu odredište naziva datoteke mv.

U Terminal koristiti naredba CD / jezgre prebaciti se u direktorij, dakle ls -a za popis sadržaja. Za pomicanje datoteke u mapu Documents jednostavno upotrijebite mv naziv datoteke / Korisnici / korisničko ime / Dokumenti (zamjena naziv datoteke i Korisničko ime).

Kreditna slika: Erika Varga putem Freeimagesa

Ako ste dugogodišnji korisnik Unixa koji je prešao na Mac, koje su još male poznate značajke tamo? Ako vas zanima provjera projekta koji koristi samo open source temelje macOS-a, pogledajte PureDarwin. Javite nam kako se to odvijalo u komentarima. Također bismo željeli čuti kada su POSIX signali riješili tvrdokorni problem na vašem Macu.

Jeste li prije koristili POSIX signale za rješavanje problema?

Slikovni krediti: Dean Drobot / Shutterstock




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.