docs: CLAUDE.md 记录 server.py/cloudflared 改由 launchd 常驻及运维命令

- 说明 nohup 启动会随 Claude Code 会话回收被 SIGTERM、重启后不自起的事故原因
- 记录两个 LaunchAgent 的 label、kickstart/bootout 操作,原手工命令降级为应急参考

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 10:59:12 +08:00
parent cf9aa3b1bb
commit c836b0d6bc

View File

@@ -91,7 +91,8 @@ EPD_HOST=epd400a44.local python3 main.py
`git show HEAD:renderer.py > /tmp/orig/renderer.py`切换 `sys.path` 分别 import 渲染`ImageChops.difference(a,b).getbbox() is None`
六色版渲染后 `set(img.getcolors())` 必须 `SPECTRA6`夹具需覆盖pct=None、≥warn 红档、≤ok 绿档direction=None、空 candles
- **HTML截图逐像素核验**`"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu --hide-scrollbars --force-device-scale-factor=1 --window-size=800,480 --screenshot=/tmp/s.png file://…`**勿加指向空目录的 `--user-data-dir`**卡死到超时)。
- **server.py 本机运维**启动 `nohup env -u HTTPS_PROXY -u https_proxy -u HTTP_PROXY -u http_proxy -u ALL_PROXY python3 server.py >> output/server.log 2>&1 &`
- **server.py / cloudflared 常驻2026-09-15 起走 launchd**`~/Library/LaunchAgents/com.jm.eink-server.plist`vfox python 绝对路径跑 `server.py` `com.jm.eink-cloudflared.plist``cloudflared tunnel --url http://127.0.0.1:8790 --no-autoupdate --protocol http2` `RunAtLoad`+`KeepAlive`日志仍落 `output/server.log`/`output/cloudflared.log`机器专用未入库。**为什么**此前两者在 Claude Code 工具 shell `nohup … &` 启动会话回收时被同一秒 SIGTERM2026-09-15 10:11 两进程同时退出电脑重启后也不会自起当天早上重启即中断)。重启/查看`launchctl kickstart -k gui/$(id -u)/com.jm.eink-cloudflared`隧道地址会变需更新 SenseCraft)、`launchctl list | grep com.jm.eink`改代码后 kickstart server 即生效 plist `launchctl bootout gui/$(id -u)/<label>` `bootstrap`以下手工命令仅作应急参考
- **server.py 手工启动应急**`nohup env -u HTTPS_PROXY -u https_proxy -u HTTP_PROXY -u http_proxy -u ALL_PROXY python3 server.py >> output/server.log 2>&1 &`
重启前按 PID 杀干净`for p in $(lsof -nP -iTCP:8790 -sTCP:LISTEN -t); do kill $p; done`——`pkill -f` 曾漏杀 `*:8790` `127.0.0.1:8790` 两个监听可并存旧代码继续应答表现为新端点 404)。
- **cloudflared 快速隧道**免账号地址每次重启都变需到 SenseCraft 更新 URL
`nohup env -u HTTPS_PROXY -u https_proxy -u HTTP_PROXY -u http_proxy -u ALL_PROXY cloudflared tunnel --url http://127.0.0.1:8790 --no-autoupdate --protocol http2 > output/cloudflared.log 2>&1 &`