Saya baru tahu bahwa cron
itu sudah usang di Mac OS X. Mengapa ini, dan akhirnya akan sepenuhnya dihapus dari rilis di masa depan?
Dengan rilis Mac OS 10.4, launchd
terpilih untuk menggantikan cron
Mac OS. Berikut ini adalah versi cached dari launchd page dari Apple Developer Connection pada tahun 2005. Ini menjelaskan mengapa cron
sudah usang, serta manfaat dari launchd
perspektif Apple.
Ringkasan: launchd
dibuat bukan hanya untuk menggantikan cron
tetapi juga init
, xinetd
untuk kinerja yang lebih baik, dan kontrol yang lebih baik atas konfigurasi dan tugas aktual itu sendiri.
The
launchd
daemon menawarkan tunggal, standar, antarmuka untuk setiap dan semua program mulai secara otomatis oleh sistem. Selain itu, file konfigurasi yang menentukan kapan menjalankan program tertentu juga dapat menentukan batasan sumber daya dan variabel lingkungan, yang menyederhanakan pengaturan dan keamanan untuk banyak program. Format file konfigurasi yang sama digunakan apakah pekerjaan diluncurkan sekali pada startup sistem atau login pengguna, sesuai permintaan melalui jaringan, atau pada interval.
Artikel wikipedia pada launchd memiliki ringkasan yang sangat bagus, diskusi yang diperpanjang serta beberapa video dan tautan luar yang bagus untuk menyelami lebih dalam keputusan Apple ini.
Singkatnya, launchd
menggantikan 7 tugas utama dan sekumpulan skrip ( inetd , init dan rc dan struktur skrip shell yang terkait, crond , atd , watchdogd , SystemStarter ) dengan satu alat open source yang jauh lebih kuat.
Mengapa:
Kapan: 29 April 2005 (Ketika OS X Tiger dirilis untuk dijual)
Tidak ada yang mencegah kita semua menggunakan launchd untuk memulai cron sekarang di Tiger, Leopard atau Snow Leopard.
Jika Apple di masa depan menghentikan pengiriman /usr/sbin/cron
, itu pasti akan berakhir seperti wget dan alat open source matang lainnya yang dikompilasi dan perlu ditambahkan sebagai alat baris perintah terpisah.
Saya bahkan tidak tahu apakah cron sudah usang. man crontab
tampaknya menunjukkan bahwa itu belum:
(Catatan Darwin: Meskipun cron (8) dan crontab (5) secara resmi didukung di bawah Darwin, fungsionalitasnya telah diserap ke launchd (8), yang menyediakan cara yang lebih fleksibel untuk menjalankan perintah secara otomatis. Lihat launchctl (1) untuk informasi lebih lanjut .)
Panduan Pemrograman Daemon dan Layanan mengatakan bahwa itu sudah usang:
Catatan: Meskipun masih didukung, cron bukan solusi yang disarankan. Itu telah ditinggalkan demi launchd.
crontab juga diperlukan oleh POSIX , dan OS X seharusnya kompatibel dengan SUS.
Bagaimanapun, cron mungkin tidak akan berhenti bekerja dalam waktu dekat, dan saya tidak tahu apakah itu bisa dikatakan lebih lambat atau kurang aman daripada launchd. Proses cron harus menggunakan hampir tidak ada waktu atau memori CPU. Beberapa keuntungan menggunakan atau mempelajari cron adalah ia juga tersedia di platform lain, dan format konfigurasinya lebih sederhana.