Odpowiedzi:
Wraz z wydaniem Mac OS 10.4 launchd
został wybrany do zastąpienia cron
w Mac OS. Oto buforowana wersja uruchomionej strony z Apple Developer Connection w 2005 roku. Wyjaśnia, dlaczego cron
została wycofana, a także korzyści płynące launchd
z perspektywy Apple.
Podsumowanie: launchd
zostało stworzone nie tylko po to, by wymieniać, cron
ale także init
, xinetd
dla lepszej wydajności i lepszej kontroli nad konfiguracją i samymi zadaniami.
Do
launchd
oferty demon jeden, standaryzowany interfejs do wszelkich programów rozpoczętych automatycznie przez system. Ponadto pliki konfiguracyjne, które określają, kiedy uruchomić dany program, mogą również określać limity zasobów i zmienne środowiskowe, co upraszcza konfigurację i bezpieczeństwo wielu programów. Ten sam format pliku konfiguracyjnego jest używany bez względu na to, czy zadanie jest uruchamiane raz podczas uruchamiania systemu lub logowania użytkownika, na żądanie przez sieć lub w odstępach czasu.
Artykuł w Wikipedii na temat premiery ma bardzo dobre podsumowanie, obszerne dyskusje, a także świetne filmy i linki zewnętrzne, aby głębiej zanotować tę decyzję Apple.
W skrócie, launchd
zastępuje 7 głównych zadań i mnóstwo skryptów ( inetd , init i rc oraz powiązane struktury skryptów powłoki, crond , atd , watchdogd , SystemStarter ) jednym znacznie potężniejszym narzędziem typu open source.
Czemu:
Kiedy: 29 kwietnia 2005 r. (Kiedy OS X Tiger został wypuszczony na sprzedaż)
Nic nie stoi na przeszkodzie, abyśmy wszyscy uruchomili komendę uruchomioną na Tronie, Leopardzie lub Snow Leopardzie.
Jeśli przyszłe Apple przestanie dostarczać /usr/sbin/cron
, z pewnością skończy się jak wget i inne dojrzałe narzędzia open source, które zostaną skompilowane i będą musiały zostać dodane jako osobne narzędzie wiersza poleceń.
Nie wiem nawet, czy cron jest przestarzały. man crontab
wydaje się wskazywać, że nie:
. .)
Przewodnik programowania demonów i usług mówi, że został on jednak przestarzały:
Uwaga: Chociaż nadal jest obsługiwany, cron nie jest zalecanym rozwiązaniem. Został wycofany na korzyść premiery.
crontab jest również wymagany przez POSIX , a OS X powinien być zgodny z SUS.
W każdym razie cron prawdopodobnie wkrótce nie przestanie działać i nie wiem, czy można powiedzieć, że jest wolniejszy czy mniej bezpieczny niż uruchomiony. Proces cron nie powinien prawie zużywać czasu procesora ani pamięci. Niektóre zalety używania lub uczenia się crona polegają na tym, że jest on również dostępny na innych platformach, a format konfiguracji jest prostszy.