ทำไม cron ถึงถูกปฏิเสธ


21

ฉันเพิ่งพบว่าcronเลิกใช้แล้วใน Mac OS X ทำไมถึงเป็นเช่นนั้นและในที่สุดมันจะถูกลบออกจากการเปิดตัวในอนาคตอย่างสมบูรณ์หรือไม่

คำตอบ:


24

ด้วยการเปิดตัว Mac OS 10.4 launchdได้รับเลือกให้แทนที่cronใน Mac OS นี่คือหน้าแคชชวลของรุ่น launchdจาก Apple Developer Connection ในปี 2005 มันอธิบายว่าทำไมcronเลิกใช้แล้วรวมถึงผลประโยชน์launchdจากมุมมองของ Apple

สรุป: launchdถูกสร้างขึ้นเพื่อไม่เพียงแค่เปลี่ยนcronแต่ยังinit, xinetdสำหรับประสิทธิภาพที่ดีขึ้นและการควบคุมที่ดีกว่าการตั้งค่าและงานที่เกิดขึ้นจริงของตัวเอง

launchdภูตข้อเสนอเดียวที่ได้มาตรฐานอินเตอร์เฟซการใด ๆ และโปรแกรมทั้งหมดที่ตั้งขึ้นโดยอัตโนมัติโดยระบบ นอกจากนี้ไฟล์การกำหนดค่าที่กำหนดว่าเมื่อใดที่จะเรียกใช้โปรแกรมที่กำหนดยังสามารถระบุข้อ จำกัด ของทรัพยากรและตัวแปรสภาพแวดล้อมซึ่งทำให้การตั้งค่าและความปลอดภัยง่ายขึ้นสำหรับหลาย ๆ โปรแกรม รูปแบบไฟล์การกำหนดค่าเดียวกันนี้จะใช้งานไม่ว่าจะเป็นการเปิดใช้งานหนึ่งครั้งเมื่อเริ่มต้นระบบหรือเข้าสู่ระบบของผู้ใช้ตามความต้องการผ่านเครือข่ายหรือตามช่วงเวลา


13

บทความวิกิพีเดียเกี่ยวกับlaunchdมีบทสรุปที่ดีมากรวมถึงการอภิปรายที่กว้างขวางรวมถึงวิดีโอที่ยอดเยี่ยมและลิงก์ภายนอกสำหรับการดำน้ำลึกในการตัดสินใจครั้งนี้ของ Apple

สรุปlaunchdแทนที่ 7 งานหลักและ boatload ของสคริปต์ ( inetd , initและrcและโครงสร้างเชลล์สคริปต์ที่เกี่ยวข้องcrond , atd , watchdogd , SystemStarter ) ด้วยเครื่องมือที่มาเปิดที่มีประสิทธิภาพมากกว่า

ทำไม:

  • ได้เร็วขึ้น
  • มีประสิทธิภาพมากขึ้น
  • รวมเป็นหนึ่งและรวมศูนย์
  • ปลอดภัยยิ่งขึ้น

เมื่อ: 29 เมษายน 2548 (เมื่อ OS X Tiger วางจำหน่ายแล้ว)

ไม่มีอะไรที่ป้องกันไม่ให้พวกเราทุกคนใช้ Launchd เพื่อเริ่ม cron ตอนนี้กับ Tiger, Leopard หรือ Snow Leopard

ในอนาคตหาก Apple หยุดการจัดส่ง/usr/sbin/cronมันจะจบลงอย่างแน่นอนเช่นwgetและเครื่องมือโอเพนซอร์สอื่น ๆ ที่รวบรวมและจำเป็นต้องเพิ่มเป็นเครื่องมือบรรทัดคำสั่งแยกต่างหาก


5

ฉันไม่รู้ด้วยซ้ำว่า cron ถูกคัดค้านหรือไม่ man crontabดูเหมือนว่าจะไม่ได้:

(หมายเหตุดาร์วิน: แม้ว่า cron (8) และ crontab (5) ได้รับการสนับสนุนอย่างเป็นทางการภายใต้ดาร์วินฟังก์ชันการทำงานของพวกเขาจะถูกดูดซึมเข้าสู่ launchd (8) ซึ่งให้วิธีที่ยืดหยุ่นมากขึ้นในการดำเนินการคำสั่งอัตโนมัติดู Launchctl (1) สำหรับข้อมูลเพิ่มเติม .)

คู่มือการเขียนโปรแกรม Daemons and Servicesบอกว่าเลิกใช้แล้ว:

หมายเหตุ: แม้ว่าจะยังคงรองรับ cron ไม่ใช่โซลูชันที่แนะนำ มันเลิกใช้แล้วในความโปรดปรานของ launchd

crontab เป็นสิ่งจำเป็นสำหรับ POSIXและ OS X ควรเป็นไปตามมาตรฐาน SUS

ไม่ว่าในกรณีใด cron จะไม่หยุดทำงานเร็ว ๆ นี้และฉันไม่รู้ว่าจะช้ากว่าหรือปลอดภัยกว่า launchd หรือไม่ กระบวนการ cron ควรใช้เกือบไม่มีเวลา CPU หรือหน่วยความจำ ข้อดีของการใช้หรือการเรียนรู้ cron คือมันยังมีอยู่บนแพลตฟอร์มอื่น ๆ และรูปแบบการกำหนดค่านั้นง่ายกว่า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.