展开本页目录
开始前准备什么
- 下载练习包,先阅读 README 中的依赖和运行范围。
- 使用独立练习目录;starter 是待完成任务,reference 是作者参考实现。
- 账号型功能须在自己的授权环境执行;本题不要求提供真实凭据。
- 隔离进程守护器
- 启动退出负例
- 读取原生状态
- 定位真实日志
- 启动修复参考
- 检查重启计数
- 清理独立会话
1. 隔离进程守护器
显式指定独立且较短的PM2_HOME。macOS socket路径过长会EINVAL,先解决路径,不要连接真实全局守护器。
2. 启动退出负例
原创crash.cjs明确输出缺RATE_CENTS并退出7。限制重启次数,避免制造无休止循环或占用生产端口。
本题本地命令
LESSON_PM2_HOME="<short isolated directory>" python run.py3. 读取原生状态
用CLI-Anything process describe查看状态、退出码和重启信息。仅看到PM2 daemon在线不能说明练习服务可用。
4. 定位真实日志
用logs view回读FIXTURE缺省值错误,和退出码7对应起来。先修输入合同,不用无限重启掩盖错误。
5. 启动修复参考
fixed.cjs为缺省rate提供450,拒绝无效值,进入可观察运行状态。用harness lifecycle start创建本题命名进程。
6. 检查重启计数
回读pm2 jlist核对online、restart_time=0。运行成功时仍应确认日志和业务值,不只截图绿色状态。
7. 清理独立会话
只删除本题lesson-fixture并关闭本题PM2_HOME守护器。保存describe、logs和stable字段,不能对默认用户PM2执行全局清理。
怎样确认已经完成
- 不碰共享PM2或系统startup/save
- 退出码与错误能复现
- 修后重启计数停止异常增长
- 已运行隔离PM2和CLI-Anything describe/logs/start:退出码7负例与修复online、restart_time=0;仅清理本题PM2_HOME。
常见问题
AI 怎么看出一个 PM2 服务为什么一直重启?
先看原生describe的退出码和重启计数,再回读同一进程日志。本文缺参数退出7;修复后online且重启计数为0。
CLI-Anything 能只修指定练习服务而不动其他服务吗?
为所有命令显式设置独立PM2_HOME和进程名,路径保持短小。只清理该守护器,不能使用默认全局PM2_HOME做练习。
哪些功能已经实际执行?
已运行隔离PM2和CLI-Anything describe/logs/start:退出码7负例与修复online、restart_time=0;仅清理本题PM2_HOME。



