Answers:
随着Mac OS 10.4的发布,launchd
已选择取代cron
Mac OS。这是2005年Apple Developer Connection 的启动页面的缓存版本。它解释了为什么cron
不赞成使用它,以及launchd
从Apple的角度来看的好处。
摘要:launchd
被创建为不仅要替换,cron
而且要替换init
,xinetd
以提高性能并更好地控制配置和实际任务本身。
该
launchd
守护进程提供了一个单一,标准化,接口以及任何由系统自动启动的所有程序。此外,确定何时运行给定程序的配置文件还可以指定资源限制和环境变量,从而简化了许多程序的设置和安全性。无论作业是在系统启动或用户登录时启动一次,还是通过网络按需或间隔启动一次,都使用相同的配置文件格式。
在维基百科的文章的launchd有一个很好的总结,扩展讨论以及一些伟大的影片,以及更加深入地了解苹果这一决定的外部链接。
简而言之,用一个功能更强大的开源工具launchd
替换了7个主要任务和大量脚本(inetd,init和rc以及关联的shell脚本结构crond,atd,watchdogd,SystemStarter)。
为什么:
时间:2005年4月29日(当OS X Tiger发售时)
没有什么可以阻止我们所有人现在使用Tigers来启动Tiger,Leopard或Snow Leopard上的cron。
如果将来的Apple停止发货/usr/sbin/cron
,它肯定会像wget和其他成熟的开源工具一样最终编译,并需要将其作为单独的命令行工具添加。
我什至不知道cron是否已被弃用。man crontab
似乎表明它没有:
(达尔文说明:尽管达尔文正式支持cron(8)和crontab(5),但它们的功能已被launchd(8)吸收,这提供了一种更灵活的自动执行命令的方式。有关更多信息,请参见launchctl(1)。 )
《 Daemons and Services编程指南》说它已被弃用:
注意:尽管仍支持cron,但不建议使用cron解决方案。它已被弃用,转而推出。
POSIX还要求 crontab ,并且OS X应该符合SUS。
无论如何,cron可能不会很快停止工作,而且我不知道是否可以说它比启动的速度慢或安全性低。cron进程应该几乎不使用任何CPU时间或内存。使用或学习cron的一些优点是它也可以在其他平台上使用,并且配置格式更简单。