code-center/src/modules/self-restart.ts
2025-05-26 23:48:30 +08:00

32 lines
861 B
TypeScript

import childProcess from 'child_process';
export const selfRestart = async () => {
const appName = 'code-center';
// 检测 pm2 是否安装和是否有 appName 这个应用
try {
const res = childProcess.execSync(`pm2 list`);
const list = res.toString();
if (!list.includes(appName)) {
console.error(`pm2 list not found ${appName}`);
console.log('error', list);
return;
}
} catch (e) {
console.error('pm2 not found');
return;
}
// 执行 pm2 restart appName 命令
return new Promise((resolve, reject) => {
const res = childProcess.exec(`pm2 restart ${appName}`);
res.stdout.on('data', (data) => {
console.log('self-restart:', data);
resolve(data);
});
res.stderr.on('data', (data) => {
console.error('self-restart error:', data);
reject(data);
});
});
};