首页 > 其他 > 详细

waitpid与一些信号

时间:2020-06-20 10:22:45      阅读:72      评论:0      收藏:0      [点我收藏+]
<sys/types.h>
<sys/wait.h>
pid_t waitpid(pid_t pid, int* status, int options);//成功返回子进程ID,失败返回-1,status保存子进程终止状态,可为NULL

pid<-1,等待进程组ID为pid绝对值的任何子进程

pid=-1,等待任何子进程,相当于wait

pid=0,等待进程组ID与目前进程相同的任何子进程(常用)

pid>0,等待任何子进程识别码为pid的子进程

 

options可取WNOHANG WUNTRACED

前者表示如果子进程没有结束,则返回0,不阻塞,若子进程结束了,则返回子进程PID,如果没有指定这个参数,waitpid也会阻塞等待

后者表示若子进程进入停止状态,则马上返回,若子进程处于结束状态,则不予理会。

如果不想用options,则用0表示

 

一些信号类型

SIGHUP

用户终端连接结束时发出,用于通知一个会话内的各个作业,这时他们与控制终端不再连接。

SIGINT

SIGQUIT

SIGABRT:abort发出的信号

SIGSEGV:驶入访问未分配给自己的内存

SIGPIPE:管道破裂,用管道进行通信的连个进程,读管道没有打开或者一额外终止都会收到这个信号。

SIGTERM:kill默认产生这个信号

SIGKILL:立即结束程序

SIGCHLD:子进程结束的时候父进程会收到这个信号。

waitpid与一些信号

原文:https://www.cnblogs.com/cs0915/p/13084425.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!