为什么不赞成使用cron?


21

我刚刚发现cronMac OS X中已弃用该功能。为什么会这样,最终将其从将来的版本中完全删除?

Answers:


24

随着Mac OS 10.4的发布,launchd已选择取代cronMac OS。这是2005年Apple Developer Connection 的启动页面缓存版本。它解释了为什么cron不赞成使用它,以及launchd从Apple的角度来看的好处。

摘要:launchd被创建为不仅要替换,cron而且要替换initxinetd以提高性能并更好地控制配置和实际任务本身。

launchd守护进程提供了一个单一,标准化,接口以及任何由系统自动启动的所有程序。此外,确定何时运行给定程序的配置文件还可以指定资源限制和环境变量,从而简化了许多程序的设置和安全性。无论作业是在系统启动或用户登录时启动一次,还是通过网络按需或间隔启动一次,都使用相同的配置文件格式。


13

在维基百科的文章的launchd有一个很好的总结,扩展讨论以及一些伟大的影片,以及更加深入地了解苹果这一决定的外部链接。

简而言之,用一个功能更强大的开源工具launchd替换了7个主要任务和大量脚本(inetdinitrc以及关联的shell脚本结构crondatdwatchdogdSystemStarter)。

为什么:

  • 快点
  • 更加强大
  • 统一集中
  • 更安全

时间:2005年4月29日(当OS X Tiger发售时)

没有什么可以阻止我们所有人现在使用Tigers来启动Tiger,Leopard或Snow Leopard上的cron。

如果将来的Apple停止发货/usr/sbin/cron,它肯定会像wget和其他成熟的开源工具一样最终编译,并需要将其作为单独的命令行工具添加。


5

我什至不知道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的一些优点是它也可以在其他平台上使用,并且配置格式更简单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.