蒋潞 信号函数手册

蒋潞 信号函数手册

ID:40772711

大小:63.50 KB

页数:16页

时间:2019-08-07

蒋潞 信号函数手册_第1页
蒋潞 信号函数手册_第2页
蒋潞 信号函数手册_第3页
蒋潞 信号函数手册_第4页
蒋潞 信号函数手册_第5页
资源描述:

《蒋潞 信号函数手册》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1信号:1.viod(*signal(intsig,void(*func)(int)))(int);sigaction(intsignum,conststructsigaction*act,structsigaction*oldcat);intsig:要安装的信号值;void(*func):对sig信号的处理,该处理方式有以下两个宏;1.SIG_DEF:采用系统默认的方式处理信号。2.SIG_IGN:忽略信号。另外该函数的第二个参数也可是函数指针,用户可自定义对信号的处理函数。2.intkill(pid_tpid,intsig);Pid

2、:pid>0,给PID为pid的进程发送信号;pid=0,给同一个进程组的所有进程发送信号;pid<0&&pid!=-1,给进程组的所有ID为-pid的进程发送信号;pid=-1,给出自身之外PID大于1的进程发送信号;Sig:sig为要发送的信号值。当它为0时不发送任何信号,通常用于检查进程是否具体像目标进程发送信号的权限。当kill()函数发送信号成功时函数返回0,否则返回-1.通过errno以及使用perror可以查看错误信息:EINVAL:所发送的信号无效;EPERM:没有向目标进程发送信号的权限;ESRCH:目标进程不存在或者

3、进程已经终止,处于僵尸状态;3.intraise(intsig);和函数kill()的功能一样,区别在于raise()给自身进程发送信号,所以只有一个信号参数没有进程ID;4.alarm(unsignedintseconds);Seconds:设置的时间长度;设当置alarm()之后,在指定的时间后,将给线程本身发送一个SIGALARM信号。当seconds为0时将清除当前进程的alarm()的设置。5.intsetitimer(intwhich,conststructtimerval*value,structitimerval*ova

4、lue)which:指定定时器类型:ITIMER_REAL:设定绝对时间经过指定的时间后,内核将发送SIGALARM号给本进程;ITIMER_VIRTUAL:设定程序执行时间,只有程序被调度执行的时候才记录时间,经过指定的时间后,内核将发送SIGALARM信号给本进程。ITIMER_PROF:设定进程执行以及内核因本进程而消耗的时间和,经过指定的时间后,内核将发送ITIMER_VIRTUAL信号给本进程。itimerval是一个函数结构体。函数成功调用返回0,失败返回-1;6.abort():向进程发送SIGABORT信号,默认情况下进

5、程会异常退出,也可定义自己的信号处理函数,通常用于做程序退出前的统一操作和处理。管道:1.intpipe(intfildes[2]);pipe将建立一对描述符,fildes[0]用与从文件中读取数据,fildes[1]用在文件中写入数据。当pipe管道建立后必须要使用fork()派生子进程,然后父子进程分别关闭一个文件描述符。2.intmakefifo(constchar*pathname,mode_tmode);Pathname:为FIFO文件的路径名;mode:为管道的操作权限;3信号量1.key_tftok(constchar*p

6、athname,intproj_id);Pathname:必须是一个已经存在并具有访问权限的文件;Proj_id:只有最大的8个字节有效所以用ASCII字符来作为proj_id。2.intsemget(key_tkey,intnsems,intsemflg);Key_tkey:信号量的键值;Nsems:信号量的数目;Semflg:IPC_CREAT:如果key指定的信号量集不存在则创建一个。IPC_EXCL:和IPC_CREAT一起使用如果信号量已经存在则返回错误。Semget()调用成功时返回与键值key对应的信号集的标示符,否则返回

7、-1.3.intsemop(intsemid,structsembuf*sops,unsignednsops);Semid:信号量集的ID;Sops:指向一个sembuf的结构体数组;Nsops:为sops指向数组的大小;Strcutsembuf{unsignedshortsem_num;/信号量在信号量集中的索引号。shortsem_op;/对信号量的操作。shortsem_flg;/操作标志位。};Sem_flg:是一个符号位。指定IPC_NOMWAAIT以防止操作阻塞,如果该操作本应阻塞则semop调用失败。如果sem_flg指定

8、的SEM_UNDO,Linux会在进程退出时自动撤销该次操作。4.intsemtimeop(intsemid,structsembuf*sops,unsignednsops,structtimespec*t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。