我有一个小型实用程序,可以处理TCP和UDP套接字。有时,我收到打印到stderr的错误“不允许操作”。我的问题是,我根据套接字函数(有时是errno)的返回码处理错误,并且不打印任何内容。因此,此消息必须来自套接字调用之一。我不确定是哪一个,因为此消息很少出现,因此很难调试,但是我认为它要么来自socket
要么sendto
。
有没有办法禁止打印所有消息?我可以自己处理错误,我不需要代表我不受控制的系统。
注意,这是仅Linux的应用程序。
谢谢您的帮助。
您是否在套接字API之上使用任何库?用于套接字的功能不应将任何内容打印到stderr。我建议首先使用strace
和/或ltrace
检查此消息的来源。