From b33ff03e1f459f01291eca41f1887f8e50f9d2f8 Mon Sep 17 00:00:00 2001 From: hex2077 Date: Fri, 16 Jan 2026 12:24:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(credential-cache):=20=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E8=BF=9B=E7=A8=8B=E7=BB=A7=E7=BB=AD=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E5=BD=93=E6=A3=80=E6=B5=8B=E5=88=B0=E8=87=AA=E8=BA=AB?= =?UTF-8?q?=E9=94=81=E6=96=87=E4=BB=B6=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当检测到锁文件属于当前进程时不再抛出错误,而是允许继续运行。这解决了当进程意外重启时可能出现的锁文件冲突问题。 --- src/utils/credential-cache-manager.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/utils/credential-cache-manager.js b/src/utils/credential-cache-manager.js index bb44e67..601f04f 100644 --- a/src/utils/credential-cache-manager.js +++ b/src/utils/credential-cache-manager.js @@ -103,7 +103,12 @@ export class CredentialCacheManager { // 检查进程是否还在运行 try { process.kill(pid, 0); // 0 信号仅检查进程存在性 - throw new Error(`[CredentialCache] Another instance is running (PID: ${pid}). Please stop it first.`); + // 如果进程存在,检查是否是当前进程 + if (pid === process.pid) { + console.log(`[CredentialCache] Lock file belongs to current process (PID: ${pid}), continuing...`); + } else { + throw new Error(`[CredentialCache] Another instance is running (PID: ${pid}). Please stop it first.`); + } } catch (killError) { if (killError.code === 'ESRCH') { // 进程已死亡,可以继续