发信人: Lark_Wang@bbs.ustc.edu.cn (云中雀), 信区: cnunix
标  题: Re: Client_Server 程序中的端口问题.
发信站: 中国科大BBS站 (Sat Nov  8 10:30:05 1997)
转信站: Lilac!ustcnews!ustcnews!ustcbbs

> ==> Simon_Lei(雨夜狂雷) 说道: 
>     在做一个 Client-Server 结构的程序时, 
>     要用到端口号. 在调试阶段, Server 程序 
>     常常是被强行 kill 掉的. 此时如果在 
>     Server 程序中添加一点点的调试信息, 再 
>     重新编译执行时, 就会发现该端口号被占用, 
>     而造成 Server 程序执行出错. 只好修改端 
>     口号, 重新再编译执行.请问诸位大侠, 有没 
>     有一种办法来将该端口的程序去掉? 或者用 
>     其他方法解决? 
首先用signal()函数截取SIGHUP信号, 
void cleanup(int num)
{
close_all_opened_sockets();
exit(0);
}

main()
{
....
signal(SIGHUP,cleanup);
....
}

然后用 kill -HUP pid 来杀死Server程序.

--
    云中雀

※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.993毫秒