scai
Version:
> **AI-powered CLI for local code analysis, commit message suggestions, and natural-language queries.** 100% local, private, GDPR-friendly, made in Denmark/EU with ❤️.
35 lines (34 loc) • 1.07 kB
JavaScript
import fs from 'fs';
import os from 'os';
import path from 'path';
const PID_PATH = path.join(os.homedir(), '.scai/daemon.pid');
export async function runStopDaemonCommand() {
if (!fs.existsSync(PID_PATH)) {
console.log('🛑 No daemon is currently running.');
return;
}
const pid = parseInt(fs.readFileSync(PID_PATH, 'utf-8'), 10);
if (isNaN(pid)) {
console.error('⚠️ Invalid PID file. Removing it...');
fs.unlinkSync(PID_PATH);
return;
}
try {
// Check if process exists
process.kill(pid, 0);
}
catch {
console.warn(`⚠️ No running process with PID ${pid}. Removing stale PID file.`);
fs.unlinkSync(PID_PATH);
return;
}
try {
// Attempt to terminate the process
process.kill(pid, 'SIGTERM');
fs.unlinkSync(PID_PATH);
console.log(`✅ Daemon process ${pid} stopped.`);
}
catch (err) {
console.error(`❌ Failed to stop daemon process ${pid}:`, err instanceof Error ? err.message : err);
}
}