15 lines
507 B
TypeScript
15 lines
507 B
TypeScript
import { spawn } from "node:child_process";
|
|
|
|
const DEFAULT_LAUNCHD_LABEL = "com.steipete.warelay";
|
|
|
|
export function triggerWarelayRestart(): void {
|
|
const label = process.env.WARELAY_LAUNCHD_LABEL || DEFAULT_LAUNCHD_LABEL;
|
|
const uid = typeof process.getuid === "function" ? process.getuid() : undefined;
|
|
const target = uid !== undefined ? `gui/${uid}/${label}` : label;
|
|
const child = spawn("launchctl", ["kickstart", "-k", target], {
|
|
detached: true,
|
|
stdio: "ignore",
|
|
});
|
|
child.unref();
|
|
}
|