我正在用 C 实现一个简单的迭代 TCP 客户端/服务器。服务器在一个循环中无限列出。
现在,如果在任何时间点发生 Ctrl+c (SIGINT),我将如何释放服务器中使用的资源?
例如,我在自己的信号处理程序中捕获了信号;我如何获得套接字描述符 以及程序中使用的缓冲区以释放它们?
我是套接字编程的新手;任何建议将不胜感激。
最佳答案
不要安装信号处理程序。不要做任何事。 SIGINT
的默认操作是终止进程,假设没有其他进程具有您的套接字的描述符,它们将自然关闭并在进程终止时不再存在。
关于我们可以将参数传递给 C 中的信号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294772/