我正在开发一个服务器端node.js应用程序。问题是,在使用sudo node myfile.js
启动服务器后(没有sudo它无法访问端口80),除了从另一个命令提示符窗口使用sudo killall node
之外我无法阻止它这是错误的,因为它很费力,不会激活事件process.on("exit",callback)
。
答案 0 :(得分:1)
对于测试,您可以在程序中添加一个kill-switch,例如:
if(req.url=="/shutdown"){
res.end("Shutting down server.");
process.exit(0);
}
然后您只需访问http://localhost/shutdown
即可关闭服务器。您甚至可以创建一个也为您启动新实例的URL,但不要忘记首先释放所需的资源,如文件和正在使用的端口。
答案 1 :(得分:0)
添加-9来解决问题。
ps aux | grep node
kill -9 PID