diff --git a/Makefile b/Makefile index d3a5d07..21acec9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ CHROOT=/var/dgl +BINDIR=/usr/local/bin WEBASSETS = about.html bell.svg index.html options.html options.js rlgterm.js \ style-rlg.css termemu.js termemu-keys.js tty.css @@ -18,7 +19,7 @@ install: all mkdir -p ${CHROOT}/bin cp sqlickrypt dglwatcher ${CHROOT}/bin for LIB in `ldd ./sqlickrypt | awk '$$1 ~ "^/" {print $$1}; $$3 ~ "^/" {print $$3}'`; do mkdir -p ${CHROOT}`dirname $$LIB`; cp $$LIB ${CHROOT}$$LIB; done - cp rlgwebd.js /usr/local/bin/rlgwebd.js + cp rlgwebd.js rlgwebd-stop.js ${BINDIR} mkdir -p /var/local/rlgwebd cp ${WEBASSETS} ${CHROOT}/var/www cp rlgwebd.service /usr/lib/systemd/system diff --git a/rlgwebd-stop.js b/rlgwebd-stop.js new file mode 100755 index 0000000..479e7aa --- /dev/null +++ b/rlgwebd-stop.js @@ -0,0 +1,12 @@ +#!/usr/bin/env node + +var net = require('net'); +var sockpath = "/var/local/rlgwebd/ctl"; + +var sock = net.connect(sockpath, function () { + sock.on('close', function () { + if (process.argv[2] == "debug") + console.log("Control socket closed"); + }); + sock.write("quit\n"); +}); diff --git a/rlgwebd.service b/rlgwebd.service index 977e2cc..d44ce31 100644 --- a/rlgwebd.service +++ b/rlgwebd.service @@ -6,8 +6,7 @@ After=network.target syslog.target Type=simple Environment=NODE_PATH=/usr/lib/node_modules ExecStart=/usr/bin/node /usr/local/bin/rlgwebd.js -ExecStop=/usr/bin/socat "EXEC:echo quit" /var/local/rlgwebd/ctl -KillMode=none +ExecStop=/usr/bin/node /usr/local/bin/rlgwebd-stop.js [Install] WantedBy=multi-user.target