I use why-is-node-running to check the problem, dont know how to solve it.
I'm on Mac
There are 7 handle(s) keeping the process running
# SIGNALWRAP
/usr/local/lib/node_modules/why-is-node-running/include.js:3 - process.on('SIGUSR1', function() { why() })
# TTYWRAP
/Users/bung/js_works/great-voyage/node_modules/supports-color/index.js:129 - stdout: getSupportLevel(process.stdout),
# SIGNALWRAP
/Users/bung/js_works/great-voyage/node_modules/supports-color/index.js:129 - stdout: getSupportLevel(process.stdout),
# TTYWRAP
/Users/bung/js_works/great-voyage/node_modules/supports-color/index.js:130 - stderr: getSupportLevel(process.stderr)
# Timeout
/Users/bung/js_works/great-voyage/server/node_modules/tarn/lib/Pool.js:343 - this.interval = setInterval(() => this.check(), this.reapIntervalMillis);
/Users/bung/js_works/great-voyage/server/node_modules/tarn/lib/Pool.js:232 - this._startReaping();
/Users/bung/js_works/great-voyage/server/node_modules/tarn/lib/Pool.js:208 - this._doAcquire();
/Users/bung/js_works/great-voyage/server/node_modules/tarn/lib/Pool.js:264 - this._tryAcquireOrCreate();
# ZLIB
/Users/bung/js_works/great-voyage/server/node_modules/node-stream-zip/node_stream_zip.js:381 - entryStream = entryStream.pipe(zlib.createInflateRaw());
/Users/bung/js_works/great-voyage/server/node_modules/node-stream-zip/node_stream_zip.js:447 - callback(readEx, entry);
/Users/bung/js_works/great-voyage/server/node_modules/node-stream-zip/node_stream_zip.js:858 - return this.callback(err, this.bytesRead);
# ZLIB
/Users/bung/js_works/great-voyage/server/node_modules/node-stream-zip/node_stream_zip.js:410 - data = zlib.inflateRawSync(data);
/Users/bung/js_works/great-voyage/server/database.js:89 - let content = zip2.entryDataSync('ports.json').toString('utf8');
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/util.js:16 - return target.apply(this, arguments);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/promise.js:547 - x = tryCatch(handler).call(receiver, value);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/promise.js:604 - this._settlePromiseFromHandler(handler, receiver, value, promise);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/promise.js:649 - this._settlePromise(promise, handler, receiver, value);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/promise.js:729 - this._settlePromise0(this._fulfillmentHandler0, value, bitField);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/async.js:93 - fn._settlePromises();
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/async.js:86 - _drainQueueStep(queue);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/async.js:102 - _drainQueue(this._normalQueue);
/Users/bung/js_works/great-voyage/server/node_modules/bluebird/js/release/async.js:15 - self._drainQueues();