mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-19 08:00:13 +01:00
🎨 桌面端内核进程使用随机端口 https://github.com/siyuan-note/siyuan/issues/4952
This commit is contained in:
parent
ffc35d8573
commit
2832c40687
1 changed files with 53 additions and 48 deletions
|
|
@ -551,6 +551,8 @@ const initKernel = (initData) => {
|
||||||
}
|
}
|
||||||
let cmd = `ui version [${appVer}], booting kernel [${kernelPath} ${cmds.join(' ')}]`
|
let cmd = `ui version [${appVer}], booting kernel [${kernelPath} ${cmds.join(' ')}]`
|
||||||
writeLog(cmd)
|
writeLog(cmd)
|
||||||
|
let kernelProcessPid = ""
|
||||||
|
if (!isDevEnv) {
|
||||||
const cp = require('child_process')
|
const cp = require('child_process')
|
||||||
const kernelProcess = cp.spawn(kernelPath,
|
const kernelProcess = cp.spawn(kernelPath,
|
||||||
cmds, {
|
cmds, {
|
||||||
|
|
@ -558,7 +560,8 @@ const initKernel = (initData) => {
|
||||||
stdio: 'ignore',
|
stdio: 'ignore',
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
writeLog('booted kernel process [pid=' + kernelProcess.pid + ']')
|
kernelProcessPid = kernelProcess.pid
|
||||||
|
writeLog('booted kernel process [pid=' + kernelProcessPid + ']')
|
||||||
|
|
||||||
kernelProcess.on('close', (code) => {
|
kernelProcess.on('close', (code) => {
|
||||||
if (0 !== code) {
|
if (0 !== code) {
|
||||||
|
|
@ -600,6 +603,7 @@ const initKernel = (initData) => {
|
||||||
resolve(false)
|
resolve(false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const sleep = (ms) => {
|
const sleep = (ms) => {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms))
|
return new Promise(resolve => setTimeout(resolve, ms))
|
||||||
|
|
@ -616,7 +620,7 @@ const initKernel = (initData) => {
|
||||||
while (!gotPort) {
|
while (!gotPort) {
|
||||||
try {
|
try {
|
||||||
const portJSON = JSON.parse(fs.readFileSync(portJSONPath, 'utf8'))
|
const portJSON = JSON.parse(fs.readFileSync(portJSONPath, 'utf8'))
|
||||||
const ret = portJSON[kernelProcess.pid.toString()]
|
const ret = portJSON[kernelProcessPid]
|
||||||
if (ret) {
|
if (ret) {
|
||||||
gotPort = true
|
gotPort = true
|
||||||
return ret
|
return ret
|
||||||
|
|
@ -627,7 +631,7 @@ const initKernel = (initData) => {
|
||||||
} finally {
|
} finally {
|
||||||
count++
|
count++
|
||||||
if (64 < count) {
|
if (64 < count) {
|
||||||
writeLog('get kernel port failed [pid=' + kernelProcess.pid + ']')
|
writeLog('get kernel port failed [pid=' + kernelProcessPid + ']')
|
||||||
bootWindow.destroy()
|
bootWindow.destroy()
|
||||||
resolve(false)
|
resolve(false)
|
||||||
}
|
}
|
||||||
|
|
@ -812,6 +816,7 @@ app.on('before-quit', (event) => {
|
||||||
})
|
})
|
||||||
|
|
||||||
const {powerMonitor} = require('electron')
|
const {powerMonitor} = require('electron')
|
||||||
|
const cp = require("child_process");
|
||||||
|
|
||||||
powerMonitor.on('suspend', () => {
|
powerMonitor.on('suspend', () => {
|
||||||
writeLog('system suspend')
|
writeLog('system suspend')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue