抑制套接字"Operation not permitted"错误

Suppress "Operation not permitted" error from socket

本文关键字:permitted 错误 not Operation 套接字      更新时间:2023-10-16

我有一个处理套接字的小型实用程序应用程序,包括TCP和UDP。偶尔,我会收到错误"不允许操作"打印到 stderr。我的问题是,我根据套接字函数的返回代码(偶尔会错误)处理错误,并且不打印任何内容。因此,此消息必须来自其中一个套接字调用。我不确定是哪一个,因为此消息很少发生,因此很难调试,但我认为它要么来自socket,要么来自sendto

有没有办法禁止打印所有消息?我可以自己处理错误,我不需要系统代表我不受控制地处理错误。

请注意,这是一个仅限 Linux 的应用程序。

感谢您的帮助。

您是否在套接字 API 之上使用任何库?用于使用套接字的函数不应该向 stderr 打印任何内容。我建议首先使用strace和/或ltrace来检查此消息的来源。