我可以在哪里加载基于.conf文件的作业的mac中的init文件夹

时间:2015-05-25 06:04:15

标签: linux macos supervisord

我刚从linux迁移,试图在mac中运行我的一个解决方案, 在我的linux上我有一个.conf文件,用于更改“运行级别”并在机器启动时启动一个主管工作。

在mac的某个地方是否也有类似的实现,如果没有,那么替代方案是什么。

我的基于.conf的工作看起来像这样

description "myJob"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
exec supervisord --nodaemon --configuration <path to my config file>

1 个答案:

答案 0 :(得分:1)

OS X上最接近的等价物是启动守护程序 - / Library / LaunchDaemons中的属性列表文件,告诉launchd何时启动程序。如果我理解你的.conf文件的作用,那么等价物将是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>local.myJob</string>
        <key>ProgramArguments</key>
        <array>
                <string>/path/to/your/script</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>KeepAlive</key>
        <true/>
</dict>
</plist>

将local.myJob.plist命名为/ Library / LaunchDaemons,将所有者设置为root,将权限设置为644,然后重启或加载sudo launchctl load /Library/LaunchDaemons/local.myJob.plist

有关详细信息和选项,请参阅man launchd.plist和Apple的开发人员文档"Creating Launch Daemons and Agents"。您还可以在/ System / Library / LaunchDaemons中查看Apple提供的守护进程以获取更多示例。