Mengapa cron tidak digunakan lagi?

20

Saya baru tahu bahwa cronitu sudah usang di Mac OS X. Mengapa ini, dan akhirnya akan sepenuhnya dihapus dari rilis di masa depan?

eckza
sumber

Jawaban:

23

Dengan rilis Mac OS 10.4, launchdterpilih untuk menggantikan cronMac OS. Berikut ini adalah versi cached dari launchd page dari Apple Developer Connection pada tahun 2005. Ini menjelaskan mengapa cronsudah usang, serta manfaat dari launchdperspektif Apple.

Ringkasan: launchddibuat bukan hanya untuk menggantikan crontetapi juga init, xinetduntuk kinerja yang lebih baik, dan kontrol yang lebih baik atas konfigurasi dan tugas aktual itu sendiri.

The launchddaemon 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.

michaelmichael
sumber
12

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, launchdmenggantikan 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:

  • lebih cepat
  • lebih bertenaga
  • bersatu dan terpusat
  • lebih aman

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.

bmike
sumber
5

Saya bahkan tidak tahu apakah cron sudah usang. man crontabtampaknya 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.

Lri
sumber