个人对unix 网络编程中的代码进行了精简,保留了主要和关键部分。
1 tcpserve01 程序见 https://github.com/juniperdiego/Unix-network-programming-of-mine/tree/master/tcpserv01 ,
没有使用readn 和writen,直接使用read和write,能够work。
2 tcpserve02,程序见https://github.com/juniperdiego/Unix-network-programming-of-mine/tree/master/tcpserv02,
加入了信号机制,如果不在sig_chld()中调用wait,就会出现僵尸程序 如下图所示,[serve01<defunct>] 就是僵尸程序,
加入信号机制后,就没有僵尸程序了,如下图所示
可见,在主进程中调用wait机制等待子进程,进行拉近回收还是很有必要的。