进程间通信之信号(signal)——信号的产生
Linux 信号知识点整理
前些日子编程中用到了signal,用来处理进程间的通信,一直知道有这个机制,但也没有认真花时间系统的学习,通过本次机会,总结了自己对信号的理解,希望大家可以在学习过程中起到部分参考的作用。
信号是个什么东西
当我们开始学习一个知识或者认识一个新的东西时,第一步肯定要知道这个新的知识到底是一个什么东西?同样的,信号到底是一个什么东西呢?
信号,他是一种通知机制,他起到的作用只是一个通知的作用,而该通知所要表达的意义都是我们提前知道的,你可以结合我们日常生活中常见的事情来进行对比。如造成手机闹铃把你从睡梦中叫醒,手机闹铃就是一个信号,他提醒我们该起床了。再比如说大街上随处可见的红绿灯,红灯亮起,我们停止脚步,绿灯一亮,大家顺序通过。信号也是一样的道理,他只是一种通知,产生的很突然,启动一种通知的作用。
红灯亮起,我们知道应该停止过马路;绿灯亮起时,我们立即意识到可以通过马路,每一种不同的信号都代表着不同的含义。那Linux系统中现阶段支持哪些不同种类的信号呢?我们可以在终端输入 kill -l 命令查看
- SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
- SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
- SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
- SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIG