【发布时间】:2014-03-12 07:42:23
【问题描述】:
如何检测我在 Mac OS X 上的 launchd 下作为 LaunchAgent 运行?
这适用于需要重启的程序(用 Go 编写)。如果它是从终端或初始化脚本启动的,它需要自己执行此操作。如果在服务管理器下运行,则不应尝试重新启动,而只需退出并由管理器重新启动。
例如,在 Solaris SMF 下运行时,设置了环境变量 SMF_FMRI,但我在 launchd 中没有看到类似的内容。
有明显的解决方法(需要使用命令行标志或设置环境变量),但我对“自动”解决方案感兴趣。
(这不是类似的问题How to check if launchd has started the script?的重复)
【问题讨论】: