node.js - 在端口中运行时如何终止快速进程
问题描述
我在我的 Electron 项目中使用模块 express,当我尝试关闭此服务时
expreso.get('/test', function(req, res, next){
res.json({"key": "value"});
newWin.reload();
})
仍在同一个港口工作......
express.close()
没有工作,模块https://github.com/moebius-mlm/http-graceful-shutdown和https://www.npmjs.com/package/kill-port
service = new BrowserWindow({
webPreferences: {
nodeIntegration: true,
alwaysOnTop: false,
},
show: false,
frame: false,
skipTaskbar: true,
})
service.once('ready-to-show', () => {
service.show()
})
service.setMenu(null)
service.setSize(600, 400)
service.setPosition(0, 0)
service.loadURL("http://192.168.6.58:9001/genius/logout")
service.close()
newWin.close()
newWin = new BrowserWindow({
webPreferences: {
nodeIntegration: true,
alwaysOnTop: true,
skipTaskbar: true,
},
show: false,
frame: false,
})
newWin.show()
newWin.setMenu(null)
newWin.setSize(600, 400)
newWin.setPosition(0, 0)
newWin.loadURL("http://192.168.6.58:5000/logout/192.168.4.216")
setTimeout(function(){ newWin.close(); }, 5000)
server.close();
最后server.close()
不像我想象的那样工作。
解决方案
您是 Windows 用户。输入命令查找正在运行的进程,如下图:
ps
然后你会看到这样的东西:
PID PPID PGID WINPID TTY UID STIME COMMAND
8468 29784 8468 29576 cons1 197609 21:43:58 /usr/bin/ps
29784 1 29784 29784 cons1 197609 16:12:58 /usr/bin/bash
11220 26724 26724 35960 cons0 197609 16:13:41 /c/Program Files/nodejs/node
26724 9976 26724 31940 cons0 197609 16:13:41 /usr/bin/sh
9976 1 9976 9976 cons0 197609 09:14:22 /usr/bin/bash
看到节点的‘PID’是11220了吗?再次,在 shell 中输入命令:
kill -9 11220
然后键入命令ps
,它看起来像这样:
PID PPID PGID WINPID TTY UID STIME COMMAND
8468 29784 8468 29576 cons1 197609 21:43:58 /usr/bin/ps
29784 1 29784 29784 cons1 197609 16:12:58 /usr/bin/bash
26724 9976 26724 31940 cons0 197609 16:13:41 /usr/bin/sh
9976 1 9976 9976 cons0 197609 09:14:22 /usr/bin/bash
如果您执行了上述命令,您现在应该能够在端口 3000 上再次运行服务器。
推荐阅读
- asp.net-core - Aspnet Core - web.config 授权
- android - React-Native 如何在异步功能完成后显示警报?
- kubernetes - 使用 ArangoDB Kubernetes Operator 的 Horizontal Pod Autoscaler
- docker - 挂载一个卷以在 jenkinsfile 中共享 docker 容器的结果
- c++ - 浮点比较给出错误的结果和精度变化
- linux - 重命名多个文件?
- angular - 如何在具有相同路径的模板中提供多个路由器出口?
- material-ui - 如何使用 Material UI 在 Button 中应用内联 CSS
- matlab - 动态更改属性属性
- jquery - 用jQuery打开div标签后插入图片标签