是否捕获或阻止 SIGPIPE或任何其他将终止程序的信号?
发布于 2016-11-07 09:21:59
这完全取决于您选择使用的服务器实现,但它们中的大多数将:
最好的方法是使用满足您需要的服务器实现进行测试。
发布于 2019-10-15 21:05:57
不,Apache不捕获或阻止SIGPIPE或其他信号,而且它也没有实现这样做的机制。从现在开始,你得自己处理信号。这也反映在节俭cpp库的文档中。
但是,如果在Unix/Linux平台上使用OpenSSL节约,则必须忽略客户机和服务器中的SIGPIPE信号,以避免潜在的终止:
SIGPIPE信号 如果不忽略SIGPIPE,则通过网络连接运行OpenSSL的应用程序可能会崩溃。当它们接收到远程对等异常重置连接时,就会发生这种情况,该异常会触发SIGPIPE信号。如果不处理,此信号将杀死应用程序。
设置新信号处理程序的推荐方法是印字作用,但是如果您只想忽略一个信号,则可以使用更简单的信号调用:
#include <signal.h>
signal(SIGPIPE, SIG_IGN);https://stackoverflow.com/questions/40393987
复制相似问题