wait和waitpid函数

2018-01-06  本文已影响0人  一ccc

wait()函数原型

#include<sys/wait.h>
pid_t wait(int  *statloc);
pid_t  waitpid(pid_t pid,int *statloc ,int options);

函数wait和waitpid均返回两个值,已终止子进程的进程ID号,以及通过statloc指针返回的子进程终止状态.
如果调用wait()的进程没有终止的子进程,不过有一个或多个子进程在执行,那么wait讲阻塞到现有的第一个子进程终止为止.
wait函数有更多的控制.pid参数允许指定想等待的进程ID.值为-1的时候表示第一个终止的子进程.options附加选项,最常用的选项WNOHANG (告知内核在没有已终止的子进程时不要阻塞).

Int_pton()函数原型
inet_pton:将“点分十进制” -> “二进制整数”
int inet_pton(int af, const char *src, void *dst);
这个函数转换字符串到网络地址,第一个参数af是地址簇,第二个参数src是来源地址,第三个参数 dst接收转换后的数据。
网络编程中可能会遇到的三种情况:
(1)当fork子进程时,必须捕获SIGCHLD信号;
(2)当捕获信号时,必须处理被中断的系统调用;
(3)SIGCHLD的信号处理函数必须正确编写,应该使用waitpid函数以免留下僵尸进程

Signal()函数
接受两个参数
第一参数为我们要处理的信号.kill -l(一空64个),
第二个参数是我们要忽略还是要捕捉.

上一篇下一篇

猜你喜欢

热点阅读