Files
clawd/bin/clawd.js
stswangzhiping b3770d21d4 feat: add structured logging, process watchdog, and systemd hardening
- Add lib/logger.js: timestamped structured logging with 5MB x 5 file rotation
- Add lib/watchdog.js: generic child process supervisor with rate-limited restarts
- Enhance client.js: WS ping/pong liveness detection, uncaughtException/unhandledRejection handlers, systemd sd-notify integration
- Refactor frpc.js: FrpcManager now delegates to Watchdog instead of manual spawn/exit
- Enhance install.sh: environment file, log directory, systemd resource limits, security hardening, WatchdogSec=60
- Replace all console.log/warn/error with structured logger across modules

Made-with: Cursor
2026-03-16 07:31:19 +08:00

22 lines
487 B
JavaScript

#!/usr/bin/env node
'use strict';
const { ClawClient } = require('../lib/client');
const log = require('../lib/logger');
const client = new ClawClient();
client.start();
let stopping = false;
function shutdown(signal) {
if (stopping) return;
stopping = true;
log.info('clawd', `收到 ${signal},正在停止...`);
client.stop();
setTimeout(() => process.exit(0), 500);
}
process.on('SIGINT', () => shutdown('SIGINT'));
process.on('SIGTERM', () => shutdown('SIGTERM'));