Perché il cron viene deprecato?

20

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

    
posta eckza 25.04.2011 - 17:59
fonte

3 risposte

23

Con il rilascio di Mac OS 10.4, launchd è stato scelto per sostituire cron in Mac OS. Ecco una versione cache della pagina di avvio dal Apple Developer Connection nel 2005. Spiega perché cron è stato deprecato, così come i benefici di launchd dal punto di vista di Apple.

Il riepilogo: 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.

The launchd daemon offers a single, standardized, interface to any and all programs started automatically by the system. Furthermore, the configuration files that determine when to run a given program can also specify resource limits and environment variables, which simplifies setup and security for many programs. The same configuration file format is used whether a job is launched once at system startup or user login, on demand over the network, or at intervals.

    
risposta data 25.04.2011 - 18:35
fonte
12

L'articolo di wikipedia su launchd ha un ottimo sommario, discussioni estese e alcuni fantastici video e link esterni per un tuffo più profondo in questa decisione di Apple.

In poche parole, launchd sostituisce 7 attività principali e un carico imbarcato di script ( inetd , init e rc e script shell associato strutture, crond , atd , watchdogd , SystemStarter ) con uno strumento open source molto più potente.

Perché:

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

Quando: 29 aprile 2005 (quando OS X Tiger è stato rilasciato per la vendita)

Non c'è nulla che impedisca a tutti noi di usare launchd per avviare cron ora su Tiger, Leopard o Snow Leopard.

Se il futuro Apple smetterà di spedire /usr/sbin/cron , sicuramente finirà come wget e altri strumenti open source maturi che viene compilato e deve essere aggiunto come strumento a riga di comando separato.

    
risposta data 25.04.2011 - 19:43
fonte
3

Non so nemmeno se cron è stato deprecato. man crontab sembra indicare che non ha:

(Darwin note: Although cron(8) and crontab(5) are officially supported under Darwin, their functionality has been absorbed into launchd(8), which provides a more flexible way of automatically executing commands. See launchctl(1) for more information.)

Guida alla programmazione dei demoni e dei servizi afferma che è stato tuttavia deprecato:

Note: Although it is still supported, cron is not a recommended solution. It has been deprecated in favor of launchd.

crontab è anche richiesto da POSIX , e OS X dovrebbe essere conforme a SUS.

In ogni caso, cron probabilmente non smetterà di funzionare in qualsiasi momento presto, e non so se si può dire che sia più lento o meno sicuro di launchd. Il processo cron dovrebbe utilizzare quasi nessun tempo o memoria della CPU. Alcuni vantaggi dell'uso o dell'apprendimento di cron sono che è disponibile anche su altre piattaforme e il formato di configurazione è più semplice.

    
risposta data 21.07.2013 - 13:13
fonte

Leggi altre domande sui tag