💡sing-box只是参考,其他任何服务都是可以这样配置为守护进程在后台运行,开机自启。

1.创建配置文件

保存文件名为:dev.idev.singbox.plist,命名一般采用逆域名方式,<服务标识>.plist

<?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>dev.idev.singbox</string>
        <!-- 指定工作目录-->
        <key>WorkingDirectory</key>
        <string>/Users/Elden/singbox</string>
        <!-- 程序参数配置-->
        <key>ProgramArguments</key>
        <array>
            <!-- singox可执行文件绝对路径 -->
            <string>/Users/Elden/singbox/sing-box</string>
            <!-- singox运行参数 -->
            <string>run</string>
            <string>-c</string>
            <!-- singox 配置文件 -->
            <string>/Users/Elden/singbox/client.json</string>
        </array>
        <!-- 加载程序的时候立即运行 -->
        <key>RunAtLoad</key>
        <true/>
        <!-- 保持运行,退出尝试重启 -->
        <key>KeepAlive</key>
        <true/>
        <!-- 日志 -->
        <key>StandardOutPath</key>
        <string>/var/log/singbox/out.log</string>
        <key>StandardErrorPath</key>
        <string>/var/log/singbox/singbox.log</string>
    </dict>
</plist>

2.将配置文件复制到守护进程目录并配置权限

# 复制到指定守护进程目录
sudo cp dev.idev.singbox.plist /Library/LaunchDaemons
# 配置用户以及权限
sudo chown root:wheel /Library/LaunchDaemons/dev.idev.singbox.plist
sudo chmod 644 /Library/LaunchDaemons/dev.idev.singbox.plist

3. 加载配置以及卸载配置

# 加载
sudo launchctl load /Library/LaunchDaemons/dev.idev.singbox.plist

# 卸载
sudo launchctl unload /Library/LaunchDaemons/dev.idev.singbox.plist

# 查看是否正常运行,如果返回进程号,就代表运行正常,也可以查看日志
sudo launchctl list | grep singbox

4.管理服务

# 启动
sudo launchctl start dev.idev.singbox
# 停止
sudo launchctl stop dev.idev.singbox
# 重启
sudo launchctl restart dev.idev.singbox
# 查看列表
sudo launchctl list | dev.idev.singbox
如果觉得我的文章对你有用,请随意赞赏