Verkið keyrir við innskráningu, loggið sýnir biðlarann byrja og göngin koma aldrei upp. Eða þau koma upp og hverfa nokkrum sekúndum síðar. Í báðum tilvikum var eignarlistinn líklega í lagi. launchd gaf tvö loforð þegar hann tók við verkinu: hann mun hafa eftirlit með ferli og það ferli mun halda áfram að keyra. VPN þarf bæði, og rétt XML-skrá veitir hvorki.

Gildur eignarlisti er ekki virk þjónusta

plutil -lint athugar byggingu. Það getur ekki sagt þér hvort keyrsluskráin er til, hvort viðföngin eru studd af þessari útgáfu biðlarans eða hvort verkið byrjar í samhengi þar sem innskráningargögnin eru tiltæk. Þetta eru merkingarfræðilegar spurningar og þær skýra flest þau mistök sem líta út eins og vandamál með launchd.

plutil -lint /Library/LaunchDaemons/com.example.vpn.plist
launchctl print system/com.example.vpn

Lestu útkomu seinni skipunarinnar í stað þess að gera ráð fyrir að verkið hafi hlaðist. Hún greinir frá síðustu útgangsstöðu og hvort þjónustan keyri, sem greinir „byrjaði aldrei“ frá „byrjaði og dó“ áður en þú snertir sniðið.

Agentar erfa lotu notandans, daemonar gera það ekki

Skjöl Apple um launchd aðskilja agenta hvers notanda frá daemonum kerfisins. Agentur keyrir í samhengi innskráðs notanda, með lyklakippu þess notanda og umhverfi. Daemon keyrir án þeirrar lotu, og að flytja verk í kerfismöppu endurskapar ekki gagnvirku innskráningargögn notandans.

Þessi greinarmunur ræður hönnuninni. Ef tengingin krefst þess að einhver skrái sig inn eða samþykki MFA-beiðni, er studda fyrirkomulagið verk í lotu notandans sem keyrir eftir innskráningu. Ef það verður að virka án þess að nokkur sé innskráður þarf biðlarinn samþykkta óumsjónarauðkenni með eigin endurnýjunar- og afturköllunarferli. Að velja ranga röð framleiðir verk sem byrjar hreint og mistekst á fyrsta auðkenningarþrepi.

Ekki hylja muninn með lykilorði í viðfangslistanum eða með því að slökkva á skoðun skírteina. Bæði breyta auðkenningarkröfu í varanlegt leyndarmál í læsilegri skrá, og hið síðara þýðir að göngin auðkenna hvað sem svarar.

Eftirlit virkar aðeins ef ferlið heldur sér frammi

Biðlari sem gerir sjálfan sig að daemon skilar stjórn til launchd strax, og eftirlitsaðilinn fylgist þá með ferli sem er þegar hætt. Göngin geta verið uppi, en launchd telur verkið hafa mistekist og endurræsingarstefna þess gerir eitthvað sem þú ætlaðir ekki.

Notaðu skjalfesta forgrunns- eða þjónustustillingu biðlarans. Ef varan hefur sína eigin studdu ræsingareiginleika, veit sú eiginleiki þegar hvernig á að vera í forgrunni og hvernig á að afhenda netlaginu; sérsniðið verk er sjálfstæð hönnun, ekki endurbót á honum.

Gefðu verkinu einstakt merki, fyrirhugaða keyrsluskrá og viljandi viðfangslista. Listi er ekki skipanalína skeljar, svo pípur og endursendingar virka ekki þar, og tilvitnun hegðar sér öðruvísi. Skipun sem tekst í stjórnandaflugstöð er í mesta lagi forathugun.

Innskráningargögn verða að virka án beiðni

Óumsjónarrekstur færir vandamálið með innskráningargögnin til í stað þess að fjarlægja það. Einhver verður að eiga auðkennið, ákveða hversu lengi það lifir og skjalfesta hvernig því er skipt út. Skírteini án vöktunar á gildistíma verður bilun með dagsetningu í dagatalinu.

Haltu leyndarmálum utan viðfanga og utan staðalúttaks verksins. Ef biðlarinn styður lestur innskráningargagna úr varðri geymslu, notaðu þá leið og athugaðu að keyrslusamhengi verksins nái í geymsluna. Daemon sem keyrir sem rót getur yfirleitt ekki lesið atriði í innskráningarlyklakippu, og það er sú tegund smáatriða sem kemur aðeins fram í kerfissamhengi.

Skilgreindu hvað reiðubúið þýðir og prófaðu þar

Árangursrík ræsing sannar að ferlið byrjaði. Hún sannar ekki að netið sé uppi, að gáttin hafi samþykkt auðkennið eða að einkaaðgerðin sé aðgengileg. Ef eitthvað annað veltur á göngunum þarf það reiðubúnaðarmerki sem endurspeglar tenginguna, ekki byrjunartíma verksins.

Endurtekningar eiga að vera takmarkaðar og eiga að greina á milli nets sem vantar og innskráningargagna sem er hafnað. Endurræsing við hver mistök getur ekki lagað útrunnið skírteini og framleiðir logg fullt af eins tilraunum sem felur þá raunverulegu.

Samþykktu verkið í því samhengi sem það mun raunverulega keyra í: ekkert net við ræsingu, venjuleg innskráning, vakning úr svefni og stýrð stöðvun. Skráðu síðan merkingu verksins, útgáfu biðlarans og endurskoðun sniðsins saman, svo næsti maður erfi þjónustu sem hægt er að rekja í stað skrár sem virkaði einu sinni.

Tengdir greinar