C++:接收 SIGKILL 时如何关闭 tcp 套接字(服务器)

Jos*_*ITA 2 c++ sockets tcp sigkill

如何在死之前关闭套接字?我在 linux 上有一个创建 TCP 服务器的服务。有时我必须重新启动它,我希望套接字真正关闭。目前它挂了。我也知道 SIGKILL 无法处理。任何人都可以指出我正确的方向吗?

Kar*_*ath 5

套接字将被关闭 - 操作系统将自动执行此操作,请参阅:使用 SO_REUSEADDR - 先前打开的套接字会发生什么?

与其尝试处理不起作用的 SIGKILL,不如在开始时解决问题:

使用SO_REUSEADDR允许您立即重用端口的套接字选项。

  • 非常感谢。我补充说:`int optval=1; setockopt(sock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof optval);` (2认同)