32 lines
861 B
TypeScript
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);
|
|
});
|
|
});
|
|
};
|