Lanceret

lanceret
Type System initialiseringssystem
Forfatter Apple Inc.
Udvikler Æble
Skrevet i C
Operativ system macOS
Første udgave 29. april 2005
Stat Understøttet
Licens Apache-licens 2.0
Internet side opensource.apple.com/tar...

launchd er et open source macOS  init-system skabt til at erstatte SysVinit og SystemStarter . Launchd-processen har en PID på 1 og er ansvarlig for at starte andre processer og genstarte dem, hvis den fejler, dvs. den udfører init -funktioner (i nyere versioner af Linux systemd ). Det erstatter også cron . Processer, der kører efter systemstart før login, skrives til mappen /Library/LaunchDaemons. Processer, der kører efter login, er placeret i mappen /Library/LaunchAgents. I disse mapper oprettes filer med xml-indhold, der styrer lanceringen af ​​processer. Der har været forsøg på at portere lanceret til FreeBSD og afledte systemer.

Komponenter

Der er to hovedprogrammer i launchd: launchd og launchctl.

launchd administrerer dæmoner på både system- og brugerniveau. Ligesom xinetd kan launchd starte dæmoner efter behov. Ligesom watchdogd kan launchd overvåge dæmoner for at sikre, at de stadig kører.

launchctl er et kommandolinjeprogram, der får adgang til launchd ved hjælp af IPC og ved, hvordan man parser filerne, der bruges til at beskrive de job, der skal køres, og serialisere dem ved hjælp af en specialiseret ordbogsprotokol, som launchd forstår. launchctl kan bruges til at indlæse og fjerne dæmoner, starte og stoppe overvågede job, der køres, få systembrugsstatistik for launched og dens underordnede processer og konfigurere miljøindstillinger.

lanceret

launchd har to hovedopgaver. Den første er at starte systemet, og den anden er at indlæse og vedligeholde tjenester. Her er en forenklet visning af at køre et Mac OS X Tiger-system på en PowerPC .

  1. Open Firmware aktiveres, initialiserer hardwaren og indlæser derefter BootX.
  2. BootX starter kernen og indlæser alle de nødvendige kerneudvidelser (kexts).
  3. Kernen indlæses lanceret. launchd kører forskellige scripts, der scanner LaunchDaemons-mappen ved at kalde launchctl for at initialisere dæmonerne. Derefter starter launchd login-vinduet.
  4. Opstartsscripts kigger i flere forskellige mapper for at køre job. To forskellige mapper scannes: LaunchDaemons-bibliotekerne indeholder elementer, der vil blive kørt som root, normalt baggrundsprocesser. LaunchAgents-bibliotekerne indeholder job, kaldet agentapplikationer, der kører som en bruger eller i en brugerrumskontekst. Disse kan være scripts eller andre forgrundselementer, og de kan endda inkludere en brugergrænseflade. Alle disse mapper er gemt i typiske macOS-biblioteksmapper.

launchd er meget forskellig fra SystemStarter , idet den muligvis ikke starter alle dæmoner ved opstart. Nøglen til launchd, ligesom xinetd, er at starte dæmoner efter behov. Når launchctl viser jobs ved opstart, beder den launchd om at reservere og lytte på alle porte, der anmodes om af disse job. Hvis dette er angivet i arket ved hjælp af "OnDemand"-nøglen, er dæmonen faktisk ikke indlæst i øjeblikket. Snarere vil launchd lytte på en port, starte dæmonen, når det er nødvendigt, og lukke den ned, når det ikke længere er nødvendigt. Når dæmonen er indlæst, vil launchd overvåge den og sørge for, at den kører, hvis det er nødvendigt. På denne måde ligner det watchdogd og deler watchdogd's krav om, at processer ikke forsøger at splitte eller dæmonisere sig selv. Hvis en proces går i baggrunden, vil launchd miste den og forsøge at genstarte den. Mac OS X Tiger indlæses derfor meget hurtigere end tidligere versioner. Systemet registrerer kun de dæmoner, der skulle køre og starter dem faktisk ikke, før de er nødvendige. Faktisk er statuslinjen, der vises under indlæsning, bare en placebo ved navn WaitingForLoginWindow [1] , som faktisk ikke viser andet end tiden. Den sværeste del at administrere under lanceringen er afhængighederne. SystemStarter har et meget simpelt afhængighedssystem, der bruger nøglerne Uses, Requires og Giver på listen over startelementer. Der er to hovedstrategier, når du opretter afhængigheder til at køre på Tiger: IPC tillader dæmoner at tale med hinanden for at finde ud af afhængigheder, eller dæmoner kan se på filer eller ændre stier. SystemStarter blev stadig understøttet før OS X Mountain Lion , men blev fjernet i OS X Yosemite .

launchctl

I launchd er servicestyring centraliseret i launchctl-applikationen. I sig selv kan launchctl acceptere kommandoer fra kommandolinjen, fra standardinput eller køre interaktivt. Med superbrugerrettigheder kan launchctl bruges til at foretage globale ændringer. launchctl kommunikerer med launchd via en Mach -specifik IPC-mekanisme.

Liste over ejendomme

En egenskabsliste (plist) er en type fil, som launchd bruger til at konfigurere programmet. Når launchd scanner en mappe eller et job sendes med launchctl, læser den en plist-fil, der beskriver, hvordan programmet skal startes.

Listen over almindeligt anvendte nøgler er angivet nedenfor. Alle nøgler er valgfrie, medmindre andet er angivet. For en komplet liste, se Apples manualside for launchd.plist [2] .


Nøgler Type Bemærk
Label Linje Jobtitel. Efter konvention er jobetiketten den samme som plist-filnavnet uden .plist-udvidelsen. Påkrævet.
Program Linje Sti til den eksekverbare fil. Nyttigt til simple lanceringer. Der kræves mindst én Program- eller ProgramArguments-nøgle.
ProgramArguments Array af strenge En række strenge, der repræsenterer UNIX-kommandoen. Den første linje er normalt stien til den eksekverbare, mens de sidste linjer indeholder muligheder eller muligheder. Der kræves mindst én Program- eller ProgramArguments-nøgle.
UserName linje

(standard root eller nuværende bruger)

Jobbet kører som den givne bruger, som muligvis er den bruger, der har sendt det til launchd.
OnDemand

(Forældet siden 10.5)

logisk

(standard JA)

Forældet fra 10.5 med en mere kraftfuld KeepAlive-mulighed. Boolesk flag, der bestemmer, om jobbet kører kontinuerligt eller ej.
RunAtLoad logisk

(standard NEJ)

Et boolesk flag, der bestemmer, om opgaven startes umiddelbart efter, at opgaven er indlæst i launchd.
StartOnMount logisk

(standard NEJ)

Et boolesk flag, der bestemmer, om opgaven køres, når et nyt filsystem er monteret.
QueueDirectories Array af strenge Søger i en mappe efter nye filer. Biblioteket skal være tomt til at begynde med og skal returneres til en tom tilstand, før QueueDirectories kører sin opgave igen.
WatchPaths Array af strenge Ser på filsystemstien for ændringer. Kan være en fil eller mappe.
StartInterval heltal Planlægger et job til at køre efter en tilbagevendende tidsplan. Angiver det antal sekunder, der skal ventes mellem kørsler.
StartCalendarInterval Ordbog over heltal

eller

Array af heltalsordbøger

Arbejdsplanlægning. Syntaks ligner Cron
RootDirectory Linje Jobbet vil blive placeret i denne mappe før udførelse.
WorkingDirectory Linje Jobbet vil blive overført til denne mappe før udførelse.

StandardInPath...
StandardOutPath_
StandardErrorPath

Linje Taster til at specificere input- og outputfiler for en kørende proces.
LowPriorityIO logisk Fortæller kernen, at denne opgave har en lav prioritet for filsystem I/O.
AbandonProcessGroup logisk

(standard NEJ)

Boolesk flag, der bestemmer, om underprocesser startet fra en opgave startet af launchd, vil blive dræbt, når opgaven slutter. Nyttigt, når en kortvarig opgave starter en langvarig delopgave, men kan føre til zombieprocesser.
SessionCreate logisk

(standard NEJ)

Boolesk flag, der bestemmer, om der oprettes en sikkerhedssession for opgaven og dens underprocesser.

Sockets

Navnet på hver nøgle i Sockets-sektionen vil blive placeret i jobbets miljø, når det køres, og filbeskrivelsen for den socket vil være tilgængelig i den miljøvariabel. Dette adskiller sig fra systemd socket-aktivering ved, at navnet på socketdefinitionen i jobkonfigurationen er hårdkodet i applikationen. Denne protokol er mindre fleksibel, selvom den ligesom systemd ikke kræver, at dæmonen hardkoder den indledende filbeskrivelse (3 [3] fra 2014 ).

Historie

Softwaren er designet og skrevet af Dave Zarzhitsky hos Apple . Virksomheden planlagde at erstatte alle følgende i macOS -miljøet -

De fleste af disse ting blev droppet, da lanceringen blev introduceret med Mac OS X v10.4 (Tiger).

I 2005 udsatte R. Tyler Croy lanceringen af ​​FreeBSD som en del af Google Summer of Code-projektet. Det kan ikke køres som PID 1 (kun sessionsinitialisering), og det bruges normalt ikke på denne platform. [fire]

I 2006 blev Ubuntu Linux-distributionen overvejet at bruge launchd. Denne mulighed blev afvist, fordi kildekoden var under Apple Public License  - beskrevet som et "uundgåeligt licensproblem" [5] . I stedet udviklede Ubuntu -udviklerne og skiftede til deres eget Upstart -servicestyringsværktøj .

I august 2006 genlancerede Apple under Apache-licensen version 2.0 for at lette adoptionen af ​​andre open source-udviklere [6] . De fleste Linux - distributioner bruger systemd eller Upstart , eller fortsætter med at bruge Init , og BSD-lignende systemer fortsætter også med at bruge Init .

I december 2013 annoncerede R. Tyler Croy sin hensigt om at genoptage arbejdet med sin version af launchd for FreeBSD , og hans "openlaunchd" Github- lager blev efterfølgende aktivt [7] .

I 2014, startende med OS X 10.10 og iOS 8 , flyttede Apple koden til at køre til den lukkede kildekode libxpc [8] .

I august 2015 annoncerede Jordan Hubbard og Kip Macy lanceringen af ​​NextBSD , som er baseret på FreeBSD-CURRENT-kernen, mens de tilføjede til Mach IPC, Libdispatch, notified, asld, launchd og andre komponenter afledt af Darwin , som består af open source til macOS .

lanceret udgivelseshistorik

Versioner Licens Var inkluderet i MacOS- versionen
lanceret 106 Apple Public Source License [9]
lanceret 106.3 Apple Public Source License [12]
  • Mac OS X 10.4.2 [13]
  • Mac OS X 10.4.3 [14]
  • Mac OS X 10.4.4.ppc [15]
  • Mac OS X 10.4.5.ppc [16]
lanceret 106.10 Apple Public Source License [17]
  • Mac OS X 10.4.4.x86 [18]
  • Mac OS X 10.4.5.x86 [19]
lanceret 106.13 Apple Public Source License [20]
  • Mac OS X 10.4.6.ppc [21]
  • Mac OS X 10.4.6.x86 [22]
lanceret 106.14 Apple Public Source License [23]
  • Mac OS X 10.4.7.ppc [24]
  • Mac OS X 10.4.7.x86 [25]
  • Mac OS X 10.4.8.ppc [26]
  • Mac OS X 10.4.9.ppc [27]
  • Mac OS X 10.4.10.ppc [28]
  • Mac OS X 10.4.11.ppc [29]
lanceret 106.20 Apple Public Source License [30]
  • Mac OS X 10.4.8.x86 [31]
  • Mac OS X 10.4.9.x86 [32]
  • Mac OS X 10.4.10.x86 [33]
  • Mac OS X 10.4.11.x86 [34]
lanceret 152 Apache-licens 2.0 [35]
lanceret 257 Apache-licens 2.0 [36]
lanceret 258.1 Apache-licens 2.0 [39]
  • Mac OS X 10.5.2 [40]
lanceret 258.12 Apache-licens 2.0 [41]
  • Mac OS X 10.5.3 [42]
  • Mac OS X 10.5.4 [43]
lanceret 258.18 Apache-licens 2.0 [44]
  • Mac OS X 10.5.5 [45]
lanceret 258.19 Apache-licens 2.0 [46]
  • Mac OS X 10.5.6 [47]
lanceret 258.22 Apache-licens 2.0 [48]
  • Mac OS X 10.5.7 [49]
lanceret 258,25 Apache-licens 2.0 [50]
  • Mac OS X 10.5.8 [51]
lanceret 328 Apache-licens 2.0 [52]
  • Mac OS X 10.6 [53]
  • Mac OS X 10.6.1 [54]
  • Mac OS X 10.6.2 [55]
lanceret 329.3 Apache-licens 2.0 [56]
  • Mac OS X 10.6.3 [57]
lanceret 329.3.1 Apache-licens 2.0 [58]
  • Mac OS X 10.6.4 [59]
lanceret 329.3.2 Apache-licens 2.0 [60]
  • Mac OS X 10.6.5 [61]
lanceret 329.3.3 Apache-licens 2.0 [62]
  • Mac OS X 10.6.6 [63]
  • Mac OS X 10.6.7 [64]
  • Mac OS X 10.6.8 [65]
lanceret 392.18 Apache-licens 2.0 [66]
lanceret 392,35 Apache-licens 2.0 [69]
  • Mac OS X 10.7.2 [70]
lanceret 392.36 Apache-licens 2.0 [71]
  • Mac OS X 10.7.3 [72]
lanceret 392.38 Apache-licens 2.0 [73]
  • Mac OS X 10.7.4 [74]
lanceret 392.39 Apache-licens 2.0 [75]
  • Mac OS X 10.7.5 [76]
lanceret 442.21 Apache-licens 2.0 [77]
lanceret 442.26.2 Apache-licens 2.0 [80]
  • Mac OS X 10.8.2 [81]
  • Mac OS X 10.8.3 [82]
  • Mac OS X 10.8.4 [83]
  • Mac OS X 10.8.5 [84]
lanceret 842.1.4 Apache-licens 2.0 [85]
lanceret 842.90.1 Apache-licens 2.0 [88]
lanceret 842.92.1 Apache-licens 2.0 [91]

Se også

Links

Noter

  1. http://daringfireball.net/misc/2005/04/tiger_details#waitingforloginwindow Arkiveret 23. april 2007 på Wayback Machine Daring Fireball: Tiger Details
  2. Mac OS X Manual Side Til launchd.plist(5) . Hentet 15. december 2019. Arkiveret fra originalen 26. august 2009.
  3. lille-stor-h. node-lanceret . Hentet 10. april 2014. Arkiveret fra originalen 13. april 2014.
  4. Lanceret d . FreeBSD wiki . Hentet 8. december 2013. Arkiveret fra originalen 14. december 2013.
  5. ReplacementInit . UbuntuWiki. Hentet 2. juli 2007. Arkiveret fra originalen 4. juni 2011.
  6. Prabhakar, Ernest Apple åbner: Kernel, Mac OS Forge, iCal Server, Bonjour, Launchd (downlink) (7. august 2006). Hentet 2. juli 2007. Arkiveret fra originalen 20. august 2011. 
  7. Croy, R Tyler Det mest kradsede halsskæg eller FreeBSD på min Thinkpad X200 . unethicalblogger.com . Hentet 8. december 2013. Arkiveret fra originalen 13. december 2013.
  8. Levin, Jonathan Launchd - Til din tjeneste! (PDF) 32 (2014). - "... 10.10: flyttet til libxpc 559 (560 i iOS 8) - Kilde er ikke tilgængelig endnu - og bliver måske aldrig - Libxpc er et lukket kildeprojekt ...". Hentet 3. september 2016. Arkiveret fra originalen 7. februar 2016.
  9. lancerede 106 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  10. Mac OS X 10.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  11. Mac OS X 10.4.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  12. lancerede 106.3-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  13. Mac OS X 10.4.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  14. Mac OS X 10.4.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  15. Mac OS X 10.4.4.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 17. oktober 2020.
  16. Mac OS X 10.4.5.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  17. lancerede 106.10-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  18. Mac OS X 10.4.4.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  19. Mac OS X 10.4.5.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  20. lancerede 106.13-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  21. Mac OS X 10.4.6.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 10. oktober 2020.
  22. Mac OS X 10.4.6.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  23. lancerede 106.14-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  24. Mac OS X 10.4.7.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  25. Mac OS X 10.4.7.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  26. Mac OS X 10.4.8.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  27. Mac OS X 10.4.9.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  28. Mac OS X 10.4.10.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  29. Mac OS X 10.4.11.ppc - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  30. lancerede 106.20-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  31. Mac OS X 10.4.8.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  32. Mac OS X 10.4.9.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  33. Mac OS X 10.4.10.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  34. Mac OS X 10.4.11.x86 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  35. lancerede 152 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  36. lancerede 257 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  37. Mac OS X 10.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  38. Mac OS X 10.5.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  39. lancerede 258.1-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  40. Mac OS X 10.5.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  41. lancerede 258.12-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  42. Mac OS X 10.5.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  43. Mac OS X 10.5.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  44. lancerede 258.18 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  45. Mac OS X 10.5.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  46. lancerede 258.19 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  47. Mac OS X 10.5.6 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  48. lancerede 258.22-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  49. Mac OS X 10.5.7 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  50. lancerede 258.25-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  51. Mac OS X 10.5.8 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 11. oktober 2019.
  52. lancerede 328-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  53. Mac OS X 10.6 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  54. Mac OS X 10.6.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  55. Mac OS X 10.6.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  56. lancerede 329.3-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  57. Mac OS X 10.6.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  58. lancerede 329.3.1 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  59. Mac OS X 10.6.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  60. lancerede 329.3.2 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  61. Mac OS X 10.6.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  62. lancerede 329.3.3-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  63. Mac OS X 10.6.6 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  64. Mac OS X 10.6.7 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  65. Mac OS X 10.6.8 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  66. lancerede 392.18 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  67. Mac OS X 10.7 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  68. Mac OS X 10.7.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  69. lancerede 392.35-licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  70. Mac OS X 10.7.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  71. lancerede 392.36 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  72. Mac OS X 10.7.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  73. lancerede 392.38 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  74. Mac OS X 10.7.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  75. lancerede 392.39 licensfil . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  76. Mac OS X 10.7.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  77. licensoverskrift i launchd 442.21 kildekode . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  78. Mac OS X 10.8 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  79. Mac OS X 10.8.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  80. licenshoved i launchd 442.26.2 kildekoden . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  81. Mac OS X 10.8.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  82. Mac OS X 10.8.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  83. Mac OS X 10.8.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  84. Mac OS X 10.8.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  85. licenshoved i launchd 842.1.4 kildekoden . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  86. OS X 10.9 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  87. OS X 10.9.1 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  88. licenshoved i launchd 842.90.1 kildekoden . Hentet 13. december 2019. Arkiveret fra originalen 13. december 2019.
  89. OS X 10.9.2 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  90. OS X 10.9.3 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.
  91. licenshoved i launchd 842.92.1 kildekoden . Hentet 13. december 2019. Arkiveret fra originalen 24. september 2018.
  92. OS X 10.9.4 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 21. september 2020.
  93. OS X 10.9.5 - Kilde . Hentet 13. december 2019. Arkiveret fra originalen 20. oktober 2020.