Browse Source

:art: 桌面端内核进程根据 Electron 主进程判断是否自动退出 Fix https://github.com/siyuan-note/siyuan/issues/7002

Liang Ding 2 years ago
parent
commit
bdec1215a0
1 changed files with 7 additions and 10 deletions
  1. 7 10
      kernel/model/process.go

+ 7 - 10
kernel/model/process.go

@@ -42,12 +42,7 @@ func HookDesktopUIProc() {
 		return
 	}
 
-	uiProcName := "siyuan"
-	if "dev" == util.Mode {
-		uiProcName = "electron"
-	}
-
-	time.Sleep(30 * time.Second)
+	uiProcNames := []string{"siyuan", "electron"}
 	existUIProc := false
 	for range time.Tick(7 * time.Second) {
 		util.UIProcessIDs.Range(func(uiProcIDArg, _ interface{}) bool {
@@ -63,11 +58,13 @@ func HookDesktopUIProc() {
 				return true
 			}
 
-			if strings.Contains(strings.ToLower(proc.Executable()), uiProcName) {
-				existUIProc = true
-				return false
+			procName := strings.ToLower(proc.Executable())
+			for _, name := range uiProcNames {
+				if strings.Contains(procName, name) {
+					existUIProc = true
+					return false
+				}
 			}
-
 			return true
 		})