export declare function getPidFilePath(): string; /** * 既存の pidファイルを確認し、プロセスが生存中なら true を返す。 * 複数起動防止チェックに使用する。 */ export declare function isAlreadyRunning(): boolean; /** * pidファイルのエントリが「今このホストで稼働中のエージェント」を指しているか判定する。 * * 1. ホスト名が現在のホスト名と異なる → stale(別コンテナ・別ホストの記録) * 2. pid が自プロセスを指す(Kubernetes の PID 1 再利用、実ホストでの pid 再利用) * → 起動世代マーカーが一致するときのみ稼働中とみなす * 3. pid が自プロセス以外を指す → プロセス生存確認の結果に従う */ export declare function isEntryRunning(entry: PidEntry): boolean; /** 現在のプロセス PID を pidファイルに書き込む */ export declare function writePidFile(): void; /** pidファイルを削除する(存在しない場合は無視) */ export declare function removePidFile(): void; export interface PidEntry { hostname: string; pid: number; /** 記録したプロセスの開始時刻(epoch 秒)。旧形式のpidファイルでは undefined */ generation?: number; } /** * pidファイルからエントリを読み込む。 * ファイルが存在しない・無効な場合は null を返す。 * * 後方互換のため、旧形式 "{hostname}:{pid}" とレガシー形式(数値のみ)も受け付ける。 * どちらも generation を持たないため、自プロセスの pid を指す場合は stale と判定される。 */ export declare function readPidFile(): PidEntry | null; /** * 指定PIDのプロセスが生存しているか確認する。 * process.kill(pid, 0) は実際にシグナルを送らず存在チェックのみ行う。 * EPERM(権限なし)の場合はプロセスが存在しているため true を返す。 */ export declare function isProcessAlive(pid: number): boolean; //# sourceMappingURL=pid-manager.d.ts.map