/** * Shared process-level helpers. */ export function isProcessAlive(ownerPid: number): boolean { try { process.kill(ownerPid, 0); return true; } catch (err) { const nodeErr = err as NodeJS.ErrnoException; if (nodeErr.code === 'ESRCH') { return false; } if (nodeErr.code === 'EPERM') { return true; } throw err; } } export function isStaleRunningTask(ownerPid: number | undefined): boolean { return ownerPid == null || !isProcessAlive(ownerPid); }