From 88c478dc72878d83588b7def32f2358c465b1538 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 2 Feb 2023 19:50:01 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=B9=E8=BF=9B=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E7=AB=AF=E7=9B=91=E6=8E=A7=E5=89=8D=E7=AB=AF=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E8=BF=9B=E7=A8=8B=E9=80=80=E5=87=BA=E9=92=A9=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/process.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/model/process.go b/kernel/model/process.go index 983b742a3..1336ea897 100644 --- a/kernel/model/process.go +++ b/kernel/model/process.go @@ -37,7 +37,10 @@ func HandleSignal() { Close(false, 1) } -var firstRunHookDesktopUIProcJob = true +var ( + firstRunHookDesktopUIProcJob = true + noUIProcCount int +) func HookDesktopUIProcJob() { if util.ContainerStd != util.Container || "dev" == util.Mode { @@ -56,7 +59,6 @@ func HookDesktopUIProcJob() { } uiProcNames := []string{"siyuan", "electron"} - existUIProc := false util.UIProcessIDs.Range(func(uiProcIDArg, _ interface{}) bool { uiProcID, err := strconv.Atoi(uiProcIDArg.(string)) if nil != err { @@ -77,14 +79,14 @@ func HookDesktopUIProcJob() { procName := strings.ToLower(proc.Executable()) for _, name := range uiProcNames { if strings.Contains(procName, name) { - existUIProc = true + noUIProcCount++ return false } } return true }) - if !existUIProc { + if 1 < noUIProcCount { logging.LogInfof("no active UI proc, exit kernel process now") Close(false, 1) }