Browse Source

Merge remote-tracking branch 'origin/dev' into dev

Vanessa 2 years ago
parent
commit
7ced94a194
2 changed files with 12 additions and 6 deletions
  1. 1 0
      kernel/model/conf.go
  2. 11 6
      kernel/model/process.go

+ 1 - 0
kernel/model/conf.go

@@ -708,6 +708,7 @@ func clearWorkspaceTemp() {
 	os.RemoveAll(filepath.Join(util.TempDir, "import"))
 	os.RemoveAll(filepath.Join(util.TempDir, "repo"))
 	os.RemoveAll(filepath.Join(util.TempDir, "os"))
+	os.RemoveAll(filepath.Join(util.TempDir, "blocktree.msgpack")) // v2.7.2 前旧版的块数数据
 
 	// 退出时自动删除超过 7 天的安装包 https://github.com/siyuan-note/siyuan/issues/6128
 	install := filepath.Join(util.TempDir, "install")

+ 11 - 6
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,15 +79,18 @@ 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 {
-		logging.LogInfof("no active UI proc, exit kernel process now")
-		Close(false, 1)
+	if 0 < noUIProcCount {
+		logging.LogInfof("no active UI proc count [%d]", noUIProcCount)
+		if 1 < noUIProcCount {
+			logging.LogInfof("confirmed no active UI proc, exit kernel process now")
+			Close(false, 1)
+		}
 	}
 }