Risposte:
Con il rilascio di Mac OS 10.4, è launchd
stato scelto di sostituire cron
Mac OS. Ecco una versione cache della pagina di avvio di Apple Developer Connection nel 2005. Spiega perché è cron
stato deprecato, nonché i vantaggi della launchd
prospettiva di Apple.
Il sommario: è launchd
stato creato non solo per sostituire cron
ma anche init
, xinetd
per prestazioni migliori e un migliore controllo sulla configurazione e sulle attività effettive stesse.
Il
launchd
demone offre un'unica interfaccia standardizzata a tutti i programmi avviati automaticamente dal sistema. Inoltre, i file di configurazione che determinano quando eseguire un determinato programma possono anche specificare limiti di risorse e variabili di ambiente, il che semplifica l'installazione e la sicurezza di molti programmi. Lo stesso formato del file di configurazione viene utilizzato indipendentemente dal fatto che un lavoro venga avviato una volta all'avvio del sistema o all'accesso dell'utente, su richiesta sulla rete o ad intervalli.
L'articolo di Wikipedia su launchd ha un ottimo riassunto, discussioni estese, nonché alcuni fantastici video e link esterni per un approfondimento su questa decisione di Apple.
In breve, launchd
sostituisce 7 attività principali e un carico di script ( inetd , init e rc e strutture di script shell associate, crond , atd , watchdogd , SystemStarter ) con uno strumento open source molto più potente.
Perché:
Quando: 29 aprile 2005 (quando OS X Tiger è stato rilasciato in vendita)
Non c'è nulla da impedire a tutti noi di utilizzare launchd per avviare cron ora su Tiger, Leopard o Snow Leopard.
Se la futura Apple smettesse di spedire /usr/sbin/cron
, finirà sicuramente come wget e altri strumenti open source maturi che vengono compilati e devono essere aggiunti come uno strumento a riga di comando separato.
Non so nemmeno se cron è stato deprecato. man crontab
sembra indicare che non ha:
(Nota Darwin: sebbene cron (8) e crontab (5) siano ufficialmente supportati da Darwin, la loro funzionalità è stata assorbita in launchd (8), che fornisce un modo più flessibile di eseguire automaticamente i comandi. Vedere launchctl (1) per maggiori informazioni .)
La guida alla programmazione di demoni e servizi afferma che è stato deprecato però:
Nota: sebbene sia ancora supportato, cron non è una soluzione consigliata. È stato deprecato a favore di launchd.
crontab è richiesto anche da POSIX e OS X dovrebbe essere conforme a SUS.
In ogni caso, cron probabilmente non smetterà di funzionare presto e non so se si può dire che sia più lento o meno sicuro di launchd. Il processo cron non dovrebbe usare quasi nessun tempo o memoria della CPU. Alcuni vantaggi dell'utilizzo o dell'apprendimento di cron sono che è disponibile anche su altre piattaforme e il formato di configurazione è più semplice.