博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP客户机-服务器
阅读量:7054 次
发布时间:2019-06-28

本文共 1065 字,大约阅读时间需要 3 分钟。

1 僵尸进程

2 信号处理

信号:

1 由一进程发往另一进程

2 由内核发往某进程
僵尸状态:
父进程取回子进程的相关信息,进程的ID,终止状态,子进程的资源利用信息
编程时:
1 当派生子进程时,必须捕获信号SIGCHLD
2 当捕获信号时,必须处理被中断的系统调用
3 SIGCHLD的信号处理程序必须正确编写,使用函数waitpid以免留下僵尸进程
1 int main(int argc,char **argv){ 2 int listenfd,connfd; 3 pid_t childpid; 4 socklen_t clilen; 5 struct sockaddr_in cliaddr,servaddr; 6 void sig_chld(int); 7   8 listenfd = Socket(AF_INET,SOCK_STREAM,0); 9     10 bzero(&servaddr,sizeof(servaddr));11 servaddr.sin_family = AF_INET;12 servaddr.sin_addr.s_addr = htol(INADDR_ANY);13 servaddr.sin_port = htons(SERV_PORT);14  15 Bind(listenfd,(SA *)&servaddr,sizeof(servaddr));16 Listen(listendfd,LISTENQ);17 Signal(SIGCHLD,sig_chld);18 for(;;){19     clilen = sizeof(cliaddr);20     if((connfd = accept(listenfd,(SA *)&cliaddr,&clilen)) < 0){21         if(errno == EINTR)22             continue;23         else24             err_sys("accept error");25     }26     if((childpod = Fork()) == 0){27         Close(listenfd);28         str_echo(connfd);29         exit(0);30     }31     Close(connfd);32 }33 }

 

本文转自博客园xingoo的博客,原文链接:,如需转载请自行联系原博主。
你可能感兴趣的文章
第七天-列表、元祖、字典、集合、数字类型
查看>>
吴忠军-临沂一业主未交取暖费新房却被淹,损失咋处理?
查看>>
Win 7—搭建FTP服务器配置
查看>>
Android项目实战_手机安全卫士程序锁
查看>>
PHP连接MYSQL数据库的3种常用方法
查看>>
C++类中的特殊成员函数-------复制构造函数
查看>>
barManager.Menu(barSubItem)
查看>>
敏感词的过滤
查看>>
运维常用工具
查看>>
ajax写用户注册
查看>>
Prony算法
查看>>
登录界面 动画背景效果
查看>>
day1-Vsftpd
查看>>
洛谷P2296 寻找道路==codevs3731 寻找道路
查看>>
Ubuntu删除history记录
查看>>
关闭或开启Linux上的iptables防火墙,SSH端口(转)
查看>>
Send Mail 网址
查看>>
最小生成树Kruskal——最优布线问题(codevs 1231) (可做Kruscal模板)
查看>>
git配置用户名邮箱,全局配置/单仓库配置
查看>>
Windows Phone 虚拟键盘导致页面推动解决
查看>>