Files
open-gsio/scripts/killport.js
geoffsee 33679583af init
2025-05-22 23:14:01 -04:00

37 lines
1019 B
JavaScript

import * as child_process from "node:child_process";
export const killProcessOnPort = (port) => {
return new Promise((resolve, reject) => {
child_process.exec(`lsof -t -i :${port}`.trim(), (err, stdout) => {
if (err) {
if (err.code !== 1) {
console.error(`Error finding process on port ${port}:`, err);
return reject(err);
} else {
console.log(`No process found on port ${port}`);
return resolve();
}
}
const pid = stdout.trim();
if (!pid) {
console.log(`No process is currently running on port ${port}`);
return resolve();
}
child_process.exec(`kill -9 ${pid}`.trim(), (killErr) => {
if (killErr) {
console.error(
`Failed to kill process ${pid} on port ${port}`,
killErr,
);
return reject(killErr);
}
console.log(`Successfully killed process ${pid} on port ${port}`);
resolve();
});
});
});
};