mirror of
https://gh.catmak.name/https://github.com/mihomo-party-org/mihomo-party
synced 2025-12-27 13:10:30 +08:00
Compare commits
No commits in common. "66a41306d6d1634b3f2facc8ce082e6cf49767e0" and "dfbe11deb4b035fb27e711aef5b68f23dea96cf6" have entirely different histories.
66a41306d6
...
dfbe11deb4
@ -144,7 +144,7 @@ export async function startCore(detached = false): Promise<Promise<void>[]> {
|
|||||||
corePath,
|
corePath,
|
||||||
['-d', diffWorkDir ? mihomoProfileWorkDir(current) : mihomoWorkDir(), ctlParam, dynamicIpcPath],
|
['-d', diffWorkDir ? mihomoProfileWorkDir(current) : mihomoWorkDir(), ctlParam, dynamicIpcPath],
|
||||||
{
|
{
|
||||||
detached: detached,
|
detached: true,
|
||||||
stdio: detached ? 'ignore' : undefined,
|
stdio: detached ? 'ignore' : undefined,
|
||||||
env: env
|
env: env
|
||||||
}
|
}
|
||||||
@ -153,7 +153,6 @@ export async function startCore(detached = false): Promise<Promise<void>[]> {
|
|||||||
os.setPriority(child.pid, os.constants.priority[mihomoCpuPriority])
|
os.setPriority(child.pid, os.constants.priority[mihomoCpuPriority])
|
||||||
}
|
}
|
||||||
if (detached) {
|
if (detached) {
|
||||||
await managerLogger.info(`Core process detached successfully on ${process.platform}, PID: ${child.pid}`)
|
|
||||||
child.unref()
|
child.unref()
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
resolve([new Promise(() => {})])
|
resolve([new Promise(() => {})])
|
||||||
@ -379,7 +378,7 @@ export async function restartCore(): Promise<void> {
|
|||||||
|
|
||||||
export async function keepCoreAlive(): Promise<void> {
|
export async function keepCoreAlive(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
await startCore(true)
|
if (!child) await startCore(true)
|
||||||
if (child && child.pid) {
|
if (child && child.pid) {
|
||||||
await writeFile(path.join(dataDir(), 'core.pid'), child.pid.toString())
|
await writeFile(path.join(dataDir(), 'core.pid'), child.pid.toString())
|
||||||
}
|
}
|
||||||
@ -389,21 +388,8 @@ export async function keepCoreAlive(): Promise<void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function quitWithoutCore(): Promise<void> {
|
export async function quitWithoutCore(): Promise<void> {
|
||||||
await managerLogger.info(`Starting lightweight mode on platform: ${process.platform}`)
|
await keepCoreAlive()
|
||||||
|
|
||||||
try {
|
|
||||||
await startCore(true)
|
|
||||||
if (child && child.pid) {
|
|
||||||
await writeFile(path.join(dataDir(), 'core.pid'), child.pid.toString())
|
|
||||||
await managerLogger.info(`Core started in lightweight mode with PID: ${child.pid}`)
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
await managerLogger.error('Failed to start core in lightweight mode:', e)
|
|
||||||
safeShowErrorBox('mihomo.error.coreStartFailed', `${e}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
await startMonitor(true)
|
await startMonitor(true)
|
||||||
await managerLogger.info('Exiting main process, core will continue running in background')
|
|
||||||
app.exit()
|
app.exit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user