Behannel in berjocht oer in helper dy't al rint as in libssyklus-oanwizing, net as tastimming om prosessen te begjinnen te deadzjen. De gefaarlike stap is net it stopjen sels, mar de identifikaasje dêrfoar, want ferskate komponinten mei ferlykbere nammen kinne op ien Mac bestean en mar ien fan harren besit de ferbining. Bou earst it identiteitsrekord. Beslis dêrnei oft in stop wol de krekte aksje is.

Bou in identiteitsrekord foardat jo hannelje

Fjouwer feiten meitsje in proses identifisearber: de hjoeddeiske PID mei syn starttiid, it útfierbere bestân en it produkt dêr't it ta heart, de brûker- of privileezjekontekst dêr't it ûnder rint, en wat it ek start hat. ps -o pid,ppid,user,etime,command -p 1234 jout jo de earste trije op ien rigel, ynklusyf hoe lang it proses al libbet. Activity Monitor toant deselde ynformaasje mei in freonliker gesicht. Foegje de kontrôler ta, dat wol sizze de applikaasje of tsjinst dy't ferantwurdlik is foar it starten en stopjen. Mei dy fjouwer hâldt in proses op in namme te wêzen en wurdt it in objekt dêr't jo oer neitinke kinne.

As ien fan de fjouwer ûnbekend is, stopje dêr. In ûnbekend komponint is in fraach foar de útjouwer of de behearder, net in eksperimint.

De PID yn in âld log heart no ta immen oars

Proses-ID's wurde recyclyd, en in nûmer kopiearre út it log fan juster kin no nei eat folslein ûnferbâns wiist. Fergelykje de starttiid mei de tiidstimpel fan it log foardat jo in konklúzje lûke. Itselde jildt foar in koarte namme: twa builds fan ien produkt kinne helpers leverje mei identike nammen en ferskillende doelen. Identiteit is de tuple, nea allinnich it nûmer.

Skied de rollen foardat jo eat oars oanreitsje. De klant fan ien ferbining, in dielde helper dy't ferskate applikaasjes betsjinnet, en in tsjinner dy't sesjes fan oaren akseptearret, lykje allegear op in eftergrûnproses yn in list. Mar ien fan harren kin stoppe wurde sûnder gefolgen dy't jo net betocht hawwe.

Stop fia de eigner, net fia it sinjaal

Begjin mei de kontrôle dy't it ding besit: de knop Ferbrekke fan 'e ferbining, it stipe stopkommando fan 'e tsjinst, of de eigen aksje fan 'e behearagent. Dy paden fiere de ôfbraak út dy't it produkt ferwachtet, ynklusyf it fuortheljen fan rûtes en it sluten fan it tunnelapparaat. In sinjaal slacht dat alles oer en lit steat efter.

Sjoch wat dernei oerbliuwt. In proses dat yn it ûnthâld bliuwt, wachtet miskien op de folgjende ferbining, wat in ûntwerpkar is en net in mislearre stop.

Wêrom in tafersjochhâlder werstart wat jo deade hawwe

As in launch-daemon of in belied foar automatysk ferbinen wol dat de tunnel oan is, dan drukt it deadzjen fan it proses neat út. De tafersjochhâlder sjocht de útgong en start it wer, soms foardat jo it log út lêzen hawwe.

Fyn de tafersjochhâlder foardat jo dermei fjochtsje. launchctl list toant laden taken en har labels, en in taak mei in keep-alive-ynstelling werstart by útgong neffens it ûntwerp. De krekte aksje dêr is de bedoeling te feroarjen: lade de taak út, skeakel it belied foar automatysk ferbinen út, of freegje de behearder dat te dwaan. Twongen ôfsluten is in oar ark mei in oare betsjutting, en it heart by in dokumintearre werstelproseduere foar in fêststutsen proses, net by gewoane ferbiningsbehear.

Registrearje de libssyklusbarren, net it deadzjen

Skriuw de identiteit fan it komponint op, de ferzje fan de klant, de earste relevante libssyklusbarren, en wat jo dien hawwe. De barren is wichtiger as de aksje, want twa eksimplaren dy't by oanmelding ferskine binne in probleem mei de startfolchoarder dat wer barre sil. In rekord dat it útfierbere bestân en syn kontrôler neamt, lit de folgjende persoan it reprodusearje.

Ferifiearje dan de bedoelde steat: de tsjinst dy't de brûker nedich hie, en de privee-boarne dy't it berikt. Mij it paad dat in substring grep't en elke oerienkomst twongen deatet, want it smyt alles hjirboppe fuort en ferneatiget meastentiids it bewiis fan wêrom't twa eksimplaren bestiene. As it proses hieltyd weromkomt, is de befinning in konfiguraasje- of folchoarderdefekt, en de repaaraasje heart by wa't it startgedrach fan 'e klant besit.

Relatearre artikelen