frpc 看门狗 on macOS
/usr/local/bin/check-frpc.sh:
bash
#!/bin/bash
# 检查 frpc 是否正在运行
if ! pgrep -f "frpc" > /dev/null; then
cd /Users/fuming && /opt/homebrew/bin/brew services start frpc
echo "$(date) 启动 frpc"
#else
# echo "$(date) frpc 正在运行"
fi~/Library/LaunchAgents/start-frpc.cron.plist:
xml
<?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>start-frpc.cron</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/check-frpc.sh</string>
</array>
<key>StandardErrorPath</key>
<string>/Users/f/services/check-frpc.log</string>
<key>StandardOutPath</key>
<string>/Users/f/services/check-frpc.log</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>启动任务
bash
launchctl load ~/Library/LaunchAgents/start-frpc.cron.plist查看当前加载状态
执行:
bash
launchctl list | grep start-frpc.cron如果有结果(比如带 PID 或 exit code),说明它正在运行或被加载。
停止并卸载这个任务
bash
launchctl unload ~/Library/LaunchAgents/start-frpc.cron.plist再次检查:
bash
launchctl list | grep frpc如果没输出,说明停止成功。
