Perché cron viene deprecato?


21

Ho appena scoperto che cronè stato deprecato in Mac OS X. Perché è questo, e alla fine verrà completamente rimosso dalle versioni future?

Risposte:


24

Con il rilascio di Mac OS 10.4, è launchdstato scelto di sostituire cronMac OS. Ecco una versione cache della pagina di avvio di Apple Developer Connection nel 2005. Spiega perché è cronstato deprecato, nonché i vantaggi della launchdprospettiva di Apple.

Il sommario: è launchdstato creato non solo per sostituire cronma anche init, xinetdper prestazioni migliori e un migliore controllo sulla configurazione e sulle attività effettive stesse.

Il launchddemone 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.


13

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, launchdsostituisce 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é:

  • Più veloce
  • più potente
  • unificato e centralizzato
  • più sicuro

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.


5

Non so nemmeno se cron è stato deprecato. man crontabsembra 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.