我在某个地方看到了这个代码可以关闭所有现有的开放套接字
if (io && io.sockets && io.sockets.sockets) {
io.sockets.sockets.forEach(function(s) {
s.disconnect(true);
});
}
当流程在sigterm
或sigint
但不知何故,在按下ctrl + c并运行代码ps -A | grep node
之后,仍然有一个现有的节点进程在后台运行我有这个输出
3605 pts / 0 00:00:00节点
如何在不需要杀死它的情况下关闭此套接字?
如果您需要更多信息,请告诉我,我很乐意编辑我的问题,谢谢!
修改 我意识到套接字有时可能会断开连接,但是当我的代码发生变化时,节点(特别是nodemon)会重新连接到特定的套接字(最近断开连接)并将应用我所做的更改。所以问题是我断开连接后如何防止套接字重新连接?我将在上面的代码中添加什么来实现该目标?
答案 0 :(得分:0)
运行时:
ps -A | grep node
你看到一个进程,那么这就是你的grep进程。当你调用grep时,它会创建grep进程,在输出中显示所有匹配的进程(也就是grep进程),并在结束时关闭grep进程。