diff --git a/electron/api/frpc.ts b/electron/api/frpc.ts index 6994ec5..09cbbda 100644 --- a/electron/api/frpc.ts +++ b/electron/api/frpc.ts @@ -161,15 +161,17 @@ export const reloadFrpcProcess = () => { /** * 停止frpc子进程 */ -export const stopFrpcProcess = () => { +export const stopFrpcProcess = (callback?:() => void) => { if (frpcProcess) { treeKill(frpcProcess.pid, (error: Error) => { if (error) { console.log("关闭失败", frpcProcess.pid, error) } else { + console.log('关闭成功') frpcProcess = null clearInterval(frpcStatusListener) } + callback() }) } } diff --git a/electron/main/index.ts b/electron/main/index.ts index 4eee4a8..3a59204 100644 --- a/electron/main/index.ts +++ b/electron/main/index.ts @@ -120,7 +120,9 @@ export const createTray = () => { label: '退出', click: () => { isQuiting = true; - app.quit(); + stopFrpcProcess(() => { + app.quit(); + }) } } ]; @@ -143,8 +145,11 @@ app.whenReady().then(() => { app.on("window-all-closed", () => { win = null; - if (process.platform !== "darwin") app.quit(); - stopFrpcProcess() + if (process.platform !== "darwin") { + stopFrpcProcess(() => { + app.quit(); + }) + } }); app.on("second-instance", () => {