UNIX情形高级编程:线程和信号
运行命令: [cpp] view plaincopyprint? 01.第一个终端: 02.huangcheng@ubuntu:~$ ./a.out 03.第二个终端: 04.huangcheng@ubuntu:~$ kill -2 2704 05.huangcheng@ubuntu:~$ kill -2 2704 06.huangcheng@ubuntu:~$ kill -2 2704 07.huangcheng@ubuntu:~$ kill -14 2704 08.huangcheng@ubuntu:~$ kill -14 2704 09.huangcheng@ubuntu:~$ kill -14 2704 10.huangcheng@ubuntu:~$ kill -14 2704 第一个终端: huangcheng@ubuntu:~$ ./a.out 第二个终端: huangcheng@ubuntu:~$ kill -2 2704 huangcheng@ubuntu:~$ kill -2 2704 huangcheng@ubuntu:~$ kill -2 2704 huangcheng@ubuntu:~$ kill -14 2704 huangcheng@ubuntu:~$ kill -14 2704 huangcheng@ubuntu:~$ kill -14 2704 huangcheng@ubuntu:~$ kill -14 2704执行结果: [cpp] view plaincopyprint? 01.huangcheng@ubuntu:~$ ./a.out 02.catch SIGINT 03.catch SIGINT 04.catch SIGINT 05.sigwait, receive signal SIGALRM 06.after sigwait, catch SIGALRM 07.after sigwait, catch SIGALRM 08.after sigwait, catch SIGALRM huangcheng@ubuntu:~$ ./a.out catch SIGINT catch SIGINT catch SIGINT sigwait, receive signal SIGALRM after sigwait, catch SIGALRM after sigwait, catch SIGALRM after sigwait, catch SIGALRM 结果说明:如果我们同时注册了信号处理函数,同时又用sigwait来等待这个信号,谁会取到信号?经过实验,Ubuntu 10.04上sigwait的优先级高。 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |