2014-01-24 19 views

回答

4

插座将被关闭 - 操作系统将自动执行此操作,请参阅:Using SO_REUSEADDR - What happens to previously open socket?

,而不是试图处理SIGKILL,这是行不通的,在开始解决问题:

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

+0

非常感谢。我补充说: 'int optval = 1; setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,&optval,sizeof optval);' – JosephITA

0

你不能对SIGKILL做任何事情。您应该尝试处理SIGTERM和/或SIGINT来终止您的服务并关闭套接字。

没有必要发送SIGKILL除非

  1. 应用忽略SIGTERM和SIGINT
  2. 系统确实需要终止立即申请

当你要重新启动你的服务,你应该送SIGTERM或SIGINT而不是SIGKILL。

+0

好吧,我添加一个处理程序到SIGINT(SIGTERM处理尚未)。我使用从新手重启以停用并重新激活服务器。 – JosephITA

相关问题