You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS中RunAtLoad=false设置无效,cloudflared仍开机启动求助

解决MacOS上cloudflared守护进程开机自动启动问题

你的问题核心出在KeepAlive配置上——虽然已经将RunAtLoad设为false,但当前的KeepAlive规则会让launchd持续维持进程运行,甚至在开机时自动恢复进程。以下是具体解决步骤:

1. 停止当前运行的cloudflared进程

执行命令停止正在运行的守护进程:

launchctl stop com.cloudflare.cloudflared

2. 修改plist配置文件

编辑/Library/LaunchDaemons/com.cloudflare.cloudflared.plist,调整KeepAlive配置:

  • 方案一:直接将KeepAlive设为false,替换原有的字典配置:
    <key>KeepAlive</key>
    <false/>
    
  • 方案二:完全删除整个KeepAlive键值对(如果不需要任何自动重启逻辑)

修改后的完整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>com.cloudflare.cloudflared</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/bin/cloudflared</string>
      <string>tunnel</string>
      <string>run</string>
      <string>--token</string>
      <string>[token]</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>StandardOutPath</key>
    <string>/Library/Logs/com.cloudflare.cloudflared.out.log</string>
    <key>StandardErrorPath</key>
    <string>/Library/Logs/com.cloudflare.cloudflared.err.log</string>
    <key>KeepAlive</key> 
    <false/>
    <key>ThrottleInterval</key>
    <integer>5</integer>
  </dict>
</plist>

3. 重新加载launchd配置

让修改后的配置生效,先卸载再加载plist:

launchctl unload /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist

4. 验证禁用效果

重启系统后,执行以下命令检查cloudflared是否自动启动:

ps aux | grep cloudflared

如果输出中只有grep相关的进程,说明开机自动启动已被禁用。

手动启停命令

  • 启动cloudflared:
    launchctl start com.cloudflare.cloudflared
    
  • 停止cloudflared:
    launchctl stop com.cloudflare.cloudflared
    

内容的提问来源于stack exchange,提问作者Giuseppe Lanzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:57:15