Files
clawd/bin/clawd.js
stswangzhiping 2b8ebbc86e feat: run bind-quectel-serial.sh on every startup
Made-with: Cursor
2026-04-30 22:34:05 +08:00

34 lines
1.0 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env node
'use strict';
// 先于其它模块:摘掉 NOTIFY_SOCKET避免任意子进程误发 systemd notify
require('../lib/systemd-env');
const path = require('path');
const { exec } = require('child_process');
const { ClawClient } = require('../lib/client');
const log = require('../lib/logger');
// 每次启动绑定 Quectel 串口驱动(失败不影响主流程)
const bindScript = path.join(__dirname, '..', 'tools', 'bind-quectel-serial.sh');
exec(`bash "${bindScript}"`, (err, stdout, stderr) => {
if (err) log.warn('clawd', `bind-quectel-serial: ${stderr || err.message}`);
else log.info('clawd', `bind-quectel-serial: ok`);
});
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'));