Files
Parchment/forms/bin/forms.js
metacryst c94d60a288 add forms
2025-12-18 20:32:10 -06:00

44 lines
1013 B
JavaScript
Executable File

#!/usr/bin/env node
import { spawn } from "child_process"
import fs from "fs"
import path from "path"
import { fileURLToPath } from "url"
const __dirname = path.dirname(fileURLToPath(import.meta.url))
const KERNEL = path.join(__dirname, "../kernel/kernel.js")
const PID_FILE = "/tmp/forms.pid"
const cmd = process.argv[2]
if (cmd === "start") {
if (fs.existsSync(PID_FILE)) {
console.log("forms kernel already running")
process.exit(0)
}
const proc = spawn("node", [KERNEL], {
detached: true,
stdio: "ignore"
})
proc.unref()
fs.writeFileSync(PID_FILE, String(proc.pid))
console.log("forms kernel started")
}
if (cmd === "stop") {
if (!fs.existsSync(PID_FILE)) {
console.log("forms kernel not running")
process.exit(0)
}
const pid = Number(fs.readFileSync(PID_FILE))
process.kill(pid)
fs.unlinkSync(PID_FILE)
console.log("forms kernel stopped")
}
if (!cmd) {
console.log("usage: forms start | stop")
}