有没有办法设置 Mac OS X 使用 xinetd 而不是 launchd?

有没有办法设置 Mac OS X 使用 xinetd 而不是 launchd?

Mac OS X 可以运行 xinetd 而不是 launchd 吗?如果可以,该怎么做?

答案1

而不是 - 否。同时 - 是。您可以为 OS X 编译 xinetd(自 2.3.8 版本起,我相信这很顺利)。只要 launchd 没有持有 xinetd 需要的套接字,这应该可以正常工作。xinetd 可以手动启动,也可以从 launchd 启动(就像任何其他 LaunchDaemon 一样)。

仅供参考,launchd 确实模拟了旧的 inetd(使用各种 InetD 兼容性密钥),并且实际上具有许多 xinetd 的功能,例如资源限制、节流等。 Launchd 远远超出了 init 或 inetd - 它还取代了 add、crond,并充当 OS X(Mach)的引导服务器。所以“代替”不是一个选择。

答案2

Launchd 是一个取代 initd 的超级守护进程。它启动大多数其他进程,以便它们具有父 PID (PPID),包括像 xinetd 这样的超级守护进程。

答案3

Mac OS X 的最新版本现在默认包含 xinetd,例如,请参阅:

http://support.apple.com/kb/TA20863?viewlocale=en_US

相关内容