linux进程间通信之信号(signal)
2014-02-08 11:21
381 查看
1、概念:
软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。信号是在软件层上对中断机制的一种模拟,
是一种异步通信方式。
2、应用:
信号可以直接进行用户空间和内核进程之间的交互,内核进程可以利用signal来通知用户空间发生的系统事件,
反之亦然。
3、信号产生,传递及其响应过程:
1、linux下信号的类型:(kill -l 查看)
1) SIGHUP(终止) 2) SIGINT(终止) 3)
SIGQUIT
4) SIGILL
5) SIGTRAP
6) SIGABRT
7)
SIGBUS
8) SIGFPE
9) SIGKILL
10)
SIGUSR1
11) SIGSEGV
12)
SIGUSR2
13) SIGPIPE
14) SIGALRM(闹钟) 15)
SIGTERM
16) SIGSTKFLT
17) SIGCHLD
18) SIGCONT
d4ce
19) SIGSTOP
20) SIGTSTP
21) SIGTTIN
22)
SIGTTOU
23) SIGURG
24) SIGXCPU
25) SIGXFSZ
26) SIGVTALRM 27)
SIGPROF
28) SIGWINCH 29) SIGIO
30) SIGPWR
31) SIGSYS
34) SIGRTMIN
35) SIGRTMIN+1 36)
SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4
39) SIGRTMIN+5
40) SIGRTMIN+6 41)
SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9
44) SIGRTMIN+1045)
SIGRTMIN+11
46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14
49) SIGRTMIN+1550)
SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11
54) SIGRTMAX-1055)
SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6
59) SIGRTMAX-5 60)
SIGRTMAX-4
61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1
64) SIGRTMAX
2、常用的几个信号发送捕捉函数
![](https://img-blog.csdn.net/20140208221628078?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21pbGVfMTk5MV96aGVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
其中信号的捕捉处理函数:sighandler_t signal(int signum, sighandler_t handler);
handler 的值为SIG_IGN时,表示忽略捕捉到的信号,值为:SIG_DFL 时表示按系统默认方式处理信号
软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。信号是在软件层上对中断机制的一种模拟,
是一种异步通信方式。
2、应用:
信号可以直接进行用户空间和内核进程之间的交互,内核进程可以利用signal来通知用户空间发生的系统事件,
反之亦然。
3、信号产生,传递及其响应过程:
1、linux下信号的类型:(kill -l 查看)
1) SIGHUP(终止) 2) SIGINT(终止) 3)
SIGQUIT
4) SIGILL
5) SIGTRAP
6) SIGABRT
7)
SIGBUS
8) SIGFPE
9) SIGKILL
10)
SIGUSR1
11) SIGSEGV
12)
SIGUSR2
13) SIGPIPE
14) SIGALRM(闹钟) 15)
SIGTERM
16) SIGSTKFLT
17) SIGCHLD
18) SIGCONT
d4ce
19) SIGSTOP
20) SIGTSTP
21) SIGTTIN
22)
SIGTTOU
23) SIGURG
24) SIGXCPU
25) SIGXFSZ
26) SIGVTALRM 27)
SIGPROF
28) SIGWINCH 29) SIGIO
30) SIGPWR
31) SIGSYS
34) SIGRTMIN
35) SIGRTMIN+1 36)
SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4
39) SIGRTMIN+5
40) SIGRTMIN+6 41)
SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9
44) SIGRTMIN+1045)
SIGRTMIN+11
46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14
49) SIGRTMIN+1550)
SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11
54) SIGRTMAX-1055)
SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6
59) SIGRTMAX-5 60)
SIGRTMAX-4
61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1
64) SIGRTMAX
2、常用的几个信号发送捕捉函数
其中信号的捕捉处理函数:sighandler_t signal(int signum, sighandler_t handler);
handler 的值为SIG_IGN时,表示忽略捕捉到的信号,值为:SIG_DFL 时表示按系统默认方式处理信号
相关文章推荐
- Linux进程间通信(一): 信号 signal()、sigaction()
- Linux 下进程间通信机制(三) 信号Signal
- Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知
- Linux进程间通信(五)---信号通信之signal()、信号集函数组及其基础实验
- Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知(转)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信(五)---信号通信之signal()、信号集函数组及其基础实验
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信方式之信号(signal)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- Linux 进程间通信 --- 信号通信 --- signal --- signal(SIGINT, my_func); --- 按键驱动异步通知
- Linux 进程间通信 --- 信号通信 --- signal
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
- 深入理解Linux进程间通信(IPC)-- 信号signal
- 练习--LINUX进程间通信之信号SIGNAL