Skip to content

Commit

Permalink
fix: 修改windows上面判断app重复启动的逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
jixiaoyong committed Jan 17, 2024
1 parent af23c10 commit 0f687e5
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/main/kotlin/io/github/jixiaoyong/utils/AppProcessUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,19 @@ import java.io.InputStreamReader
*/
object AppProcessUtil {

// APP的进程数,macOS上面是1,windows上面是2(app启动一次会打开两个进程)
const val DEFAULT_PROCESS_COUNT = 1
const val DEFAULT_PROCESS_COUNT_WIN = 2
fun isDualAppRunning(appName: String): Boolean {
val appName = appName.toLowerCase()
val osName = System.getProperty("os.name").toLowerCase()
var processCount = DEFAULT_PROCESS_COUNT
val command = when {
osName.contains("win") -> "tasklist"
osName.contains("win") -> {
processCount = DEFAULT_PROCESS_COUNT_WIN
"tasklist"
}

osName.contains("nix") || osName.contains("nux") || osName.contains("mac") -> "ps -e"
else -> return false
}
Expand All @@ -28,7 +36,7 @@ object AppProcessUtil {
if (line!!.toLowerCase().contains(appName)) {
runningCount++
}
if (runningCount > 1) {
if (runningCount > processCount) {
return true
}
}
Expand Down

0 comments on commit 0f687e5

Please sign in to comment.