add forms
This commit is contained in:
43
forms/bin/forms.js
Executable file
43
forms/bin/forms.js
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/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")
|
||||
}
|
||||
Reference in New Issue
Block a user