(pid: number)
| 110 | join(serverControlDir(dataDir), "server.json"); |
| 111 | |
| 112 | const isPidAlive = (pid: number): boolean => { |
| 113 | if (!Number.isInteger(pid) || pid <= 0) return false; |
| 114 | // oxlint-disable-next-line executor/no-try-catch-or-throw -- boundary: Node process probing API reports liveness by throwing |
| 115 | try { |
| 116 | process.kill(pid, 0); |
| 117 | return true; |
| 118 | } catch { |
| 119 | return false; |
| 120 | } |
| 121 | }; |
| 122 | |
| 123 | const readManifest = (dataDir: string) => { |
| 124 | const path = localServerManifestPath(dataDir); |