在 Mac 重启后,如何启动新的守护进程而不启动旧的守护进程?

在 Mac 重启后,如何启动新的守护进程而不启动旧的守护进程?

我们在 Mac 服务器(10.6.6)上运行了一个守护进程。

我们想安装另一个较新版本的守护进程,但不启动它。

然后在特定的时间,我们要重新启动服务器,不启动旧的守护进程,而启动新的守护进程。

这可能吗?我们该如何做到?

答案1

一般来说,如果您移动现有文件并替换它(重命名为 .old 并将新文件移到其位置),那么您可以安全地运行,直到下一个将关闭并重新打开可执行文件的操作,对于真正的守护进程来说是 INIT 进程。

如果它是一个以 Mac 为中心的守护进程,那么你必须要小心一点,因为其中一些会用尽 launchd 并且通常只在必要时加载,这意味着如果旧副本在你重新启动之前退出,你可能会过早运行新的副本。

相关内容