Javascript 如何确保Express应用程序在进程终止时关闭并释放端口?

Javascript 如何确保Express应用程序在进程终止时关闭并释放端口?,javascript,node.js,express,nodemon,Javascript,Node.js,Express,Nodemon,我使用在开发中运行我的Express server,并在文件更改时自动重新启动进程。当它重新启动时,经常会出现“端口3000已在使用”错误 杀死nodemon,运行killall节点,然后重新启动nodemon会暂时修复它。但我想正确地修复它,并确保每次应用程序被终止时都会释放端口 我已尝试使用手动调用server.close()作为清理作业: const onExit = require('signal-exit') onExit(() => { server.close(); }

我使用在开发中运行我的Express server,并在文件更改时自动重新启动进程。当它重新启动时,经常会出现“端口3000已在使用”错误

杀死nodemon,运行
killall节点
,然后重新启动nodemon会暂时修复它。但我想正确地修复它,并确保每次应用程序被终止时都会释放端口

我已尝试使用手动调用
server.close()
作为清理作业:

const onExit = require('signal-exit')

onExit(() => {
  server.close();
});

但这也不行。它仍然经常无法释放端口。有什么想法吗?

你可以试试process.on(“退出”)或process.on(“SIGINT”)FluffyNights这正是signal exit所做的,只是以一种更健壮的方式。你使用的是什么操作系统?在Ubuntu.Mac OS X El Capitan中从未出现过这个问题