瀏覽代碼

docker: stop PeerJS process on Ctrl+C #205

afrokick 4 年之前
父節點
當前提交
34589d9786
共有 1 個文件被更改,包括 12 次插入1 次删除
  1. 12 1
      bin/peerjs

+ 12 - 1
bin/peerjs

@@ -5,7 +5,7 @@ const path = require("path");
 const pkg = require("../package.json");
 const fs = require("fs");
 const optimistUsageLength = 98;
-const yargs = require("yargs")
+const yargs = require("yargs");
 const version = pkg.version;
 const { PeerServer } = require("../dist/src");
 const opts = yargs
@@ -100,6 +100,17 @@ const server = PeerServer(opts, server => {
     "Started PeerServer on %s, port: %s, path: %s (v. %s)",
     host, port, userPath || "/", version
   );
+
+  const shutdownApp = () => {
+    server.close(() => {
+      console.log('Http server closed.');
+
+      process.exit(0);
+    });
+  };
+
+  process.on('SIGINT', shutdownApp);
+  process.on('SIGTERM', shutdownApp);
 });
 
 server.on("connection", client => {