Files
code-center/src/modules/self-restart.ts
abearxiong bbdf9f087d feat: enhance WebSocket proxy with user connection management and status reporting
- Updated StudioOpts type to include infoList for user connection status.
- Added rendering of connection info in createStudioAppListHtml.
- Modified self-restart logic to use a specific app path.
- Improved WebSocket connection handling in wsProxyManager, including user registration and ID management.
- Implemented connection status checks and responses in UserV1Proxy.
- Introduced renderServerHtml function to inject server data into HTML responses.
- Refactored page-proxy request handling for better URL management.
2026-03-05 03:58:46 +08:00

32 lines
866 B
TypeScript

import childProcess from 'child_process';
export const selfRestart = async () => {
const appName = 'root/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);
});
});
};