62 lines
1.4 KiB
JavaScript
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("");
|