Reklāma
Darbības monitorā ir pieejama slēpta izvēlne Sūtīt signālu procesam. Vai esat kādreiz domājuši, kas tas bija? Ja to atlasīsit, tiks parādīti neskaidri vārdi, piemēram SIGINT un SKAIDROJUMS, kas precīzi nenosaka lietas. Kas tad īsti ir šie signāli?
Šie signāli ir rezultāts Unix pamats Mac OS X Yosemite, no Linux lietotāja perspektīvasMac OS X tiek izmantots kā tīra un eleganta interfeisa plakāts. Man kā Linux rakstniekam ir pienākums salīdzināt ne tikai Linux distros, bet arī konkurenci. Lasīt vairāk MacOS centrā. Terminālim ir daži no šiem signāliem: kad jūs hit Ctrl + C lai apturētu palaišanas komandu, jūs nosūtāt procesu SIGINT pārtraukt un apturēt pašlaik darbojošos komandu. Tie bija vieni no pirmajiem veidiem, kā lietotnes varēja sazināties savā starpā, un tie ir daļa no vecajiem “Portable Operating System Interface” (POSIX) standartiem.
Lai gan ir patīkami izprast jūsu sistēmas darbības pamatus, varat arī izmantot šos signālus, lai iegūtu informāciju par nepareizi darbojošām lietotnēm.
Kas ir POSIX?
POSIX ir Unix un Unix līdzīgu operētājsistēmu pamatstandarts. Starp šīm saderīgajām sistēmām ir macOS, kas tika izgatavota kā saderīga ar Unix. Tās kodols ir Darvins, Unix kodols, kura saknes meklējamas NeXTSTEP. Tas pats bija BSD, viena no sākotnējiem Unix variantiem, dakša.
POSIX nodrošina, ka visas šīs operētājsistēmas apstrādā kodu paredzētajos veidos, ļaujot izstrādātājiem uzzināt, ka viņu kods ir patiesi pārnēsājams. Kad viņi nosūta procesam kādu no šiem signāliem citā mašīnā, saņemtie dati ir tādā formātā, kādu viņi var paredzēt un apstrādāt. Tas ir aptuvens aptuveni 40 gadu skaitļošanas vēstures vienkāršojums, bet jūs iegūstat vispārējo ideju.
Sazinoties ar visvienkāršākajiem dēmoniem, kas veido macOS Unix bāzi, šie signāli ir vislabākie. Dēmoni ir fona procesi, kas palaiž jūsu datora pamatprasības - vai kopēju MacOS parlance, pakalpojumi. Bēdīgi atklāts ir piemērs. Tā bija OS X Yosemite 10.10 nomaiņa mDNSResponder, cits pakalpojums vainojams tīkla problēmām šajā atjauninājumā.
Atkarībā no tā, kā lietotne ir paredzēta signālu saņemšanai, varat nosūtīt signālu, lai aizvērtu lietotni, lai izveidotu tā saukto pamata izmešu veidu. Core izgāztuvēs ir visi pašreizējie dati par darbojošos programmu. Tie ir nepieciešami, lai novērstu traucējummeklēšanas lietotnes, kas nepārtraukti saduras. Operētājsistēmā Mac šie faili ir Mach-O faila formātā, kuru varat izlasīt macOS izstrādes vidē ar nosaukumu Xcode. Lielākā daļa lietotāju, iespējams, nedarīs daudz ar tiem, bet, ja jūs satrauc lietotnes problēma, viņi var būt noderīgi nosūtīt izstrādātājam atbalstu.
Šeit ir vēl mazliet klasiskās skaitļošanas tehnikas, kas parāda tās saknes. Mach-O faila formāts dala savu nosaukumu ar Mach mikrokerneli. Kopā ar BSD šī ir daļa no macOS saknēm, un tie abi ir pamata kodola XNU daļa. Mačs nav tik daudz kā BSD, tāpēc tas nesaņem daudz preses, bet ir daļa no Apple operētājsistēmas, kas atšķiras no citiem Unix variantiem.
Tātad, kā es varu tos izmantot?
Mēs visi tur esam bijuši jau iepriekš: jūs saņemat atjauniniet lietotni vai lejupielādējiet jaunu lietotni Kā instalēt un noņemt Mac programmatūru: 5 vienkāršas metodesPārejāt uz Mac un izmantojat pamatus? Vai vēlaties instalēt programmatūru no komandrindas? Vai jums ir vecas Windows lietotnes, kuras jums vienkārši jāpalaiž Apple datorā? Lasīt vairāk , un tas karājas katru reizi, kad to atverat. Tu atver Piespiest izietno Apple izvēlnes un skatiet, vai lietojumprogramma tiek parādīta kā Neatbild. Vēl ļaunāk, ka tas ir kāds fona process, kas velk jūsu sistēmu uz leju.
Atvērt Darbības monitors un noklikšķiniet uz procesa, kas nereaģē. Pēc tam dodieties uz Skats izvēlni un atlasiet Sūtīt signālu apstrādei. Tiek parādīta izvēlne, kas ļaus jums izvēlēties, kuru signālu sūtīt procesam, atlasiet signālu un nospiediet Sūtīt.
Ja jūs dodat priekšroku terminālim 4 foršas lietas, ko varat darīt ar Mac TerminalTerminālis ir Mac OS X Windows uzvednes vai CMD analogs. Tas, kā jūs droši vien jau zināt, ir rīks, kas ļauj kontrolēt datoru, izmantojot teksta komandas, nevis ... Lasīt vairāk , jūs izmantosit komandu, kas jums jau ir pazīstama. nogalināt
komandu izmanto, lai apturētu procesu. Ja jūs pievienojat -s
jūs varat pievienot numuru, lai nosūtītu signālu procesam, kuru jūs nogalināt. Šeit ir saraksts ar parasto komandu sarakstu nogalināt
man lapa:
- 1 - HUP (piekārt)
- 2 - INT (pārtraukt)
- 3 - QUIT (atmest)
- 6 - ABRT (pārtraukt)
- 9 - KILL (nenoķerams, nemanāms nogalinājums)
- 15 - TERM (programmatūras pārtraukšanas signāls)
Ir arī daži citi signāli, kurus varat sūtīt, tie ir tikai visizplatītākie. Ir visaptverošs saraksts ar kodi pieejami šeit.
Kad es tos lietoju?
Tagad, kad jūs zināt, kā rīkoties ar POSIX signāliem, varat tos izmantot, lai tīri apturētu pakārtotos procesus. Lai būtu godīgi, jūs šos kodus nelietosit katru dienu. Strādājot ar izstrādātāju nepāra lietotnes avārijas gadījumā vai palīdzot jūsu sysadmin beta versijai pārbaudīt jūsu uzņēmuma iekšējās lietotnes, šie kodi var palīdzēt iegūt nepieciešamo informāciju.
Ja lietotne ir kodēta, lai izveidotu šos izgāztuves, jūs tos atradīsit direktorijā /cores
padarot to par vienkāršu direktoriju, no kuras jāmeklē, iegūstot datus par crashing vai karājamām lietojumprogrammām. Jūs varat pārbaudīt šeit un redzēt, kādi izgāztuves atrodas direktorijā, izmantojot ls -a
komanda. Tas parādīs visus failus šajā direktorijā, un pēc tam tos varēsit nokopēt komandā, kurai pieejama direktorija mūzika mv faila nosaukuma galamērķis
.
Iekšā Terminālis izmantojiet komandu CD / serdeņi
lai pārslēgtos uz direktoriju, pēc tam ls -a
lai uzskaitītu saturu. Lai failu pārvietotu uz mapi Dokumenti, vienkārši izmantojiet mv faila nosaukums / Lietotāji / lietotājvārds / Dokumenti
(aizstājot faila nosaukums un lietotājvārds).
Ja esat ilglaicīgs Unix lietotājs, kurš pārcēlās uz Mac, kādas citas maz zināmas funkcijas pastāv? Ja vēlaties iepazīties ar projektu, kurā tiek izmantots tikai macOS atvērtā koda fonds, apskatiet PureDarwin. Paziņojiet mums, kā tas darbojās komentāros. Mēs arī vēlamies dzirdēt, kad POSIX signāli atrisināja spītīgo problēmu ar jūsu Mac.
Vai problēmu novēršanai jau esat izmantojis POSIX signālus?
Attēlu kredīti: Dean Drobot / Shutterstock
Maikls neizmantoja Mac, kad viņi bija lemti, bet viņš var kodēt Applescript. Viņam ir grādi datorzinātnēs un angļu valodā; viņš kādu laiku raksta par Mac, iOS un videospēlēm; un viņš ir bijis IT mērkaķis dienas laikā vairāk nekā desmit gadus, specializējoties skriptu veidošanā un virtualizācijā.