khy_admin/kill-server.js

62 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
/**
* Server Killer for KHY Admin Dashboard
*
* This script kills the preview server
* Usage: node kill-server.js
*/
const fs = require("fs");
const path = require("path");
const PID_FILE = path.join(__dirname, ".server.pid");
console.log("KHY Admin Server Killer");
console.log("========================");
console.log("");
// Function to kill server by PID
function killServerByPID() {
try {
if (fs.existsSync(PID_FILE)) {
const pid = fs.readFileSync(PID_FILE, "utf8").trim();
console.log(`Killing server with PID: ${pid}`);
// Kill the process
process.kill(parseInt(pid), "SIGTERM");
// Remove PID file
fs.unlinkSync(PID_FILE);
console.log(`Server killed successfully`);
return true;
} else {
console.log("No server PID file found - server may not be running");
return false;
}
} catch (error) {
if (error.code === "ESRCH") {
console.log("Server process not found - may have already stopped");
// Clean up PID file anyway
if (fs.existsSync(PID_FILE)) {
fs.unlinkSync(PID_FILE);
}
} else {
console.log(`Could not kill server: ${error.message}`);
}
return false;
}
}
// Kill the server
const killed = killServerByPID();
if (killed) {
console.log("");
console.log("Preview server stopped successfully!");
} else {
console.log("");
console.log("Server was not running or already stopped");
}
console.log("");