当前位置: 首页 > 操作系统, 操作系统&&数据库 > 正文

信号使用方法

信号:
首先计算机是一个很会营造假象的机器,它欺骗每一个进程,线程。使他们误以为自己就是唯一使用资源的进线程,但是者也造成了一个问题,进线程们都变得比较自我,想让他们互相之间通信,或者我们和他们通信就必须使用一些 “手段“ 。向他们发送信号就是一种很好的方法。
首先在LINUX下就有很多信号,当前共有64个其中32,33号信号暂时没有设定。
$ 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 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+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) 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
列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为34 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。
一般使用kill -signum PID 来发送信号。
信号虽然多但是很大一部分可以根据他们的名字来分辨他们功能。
kill( )信号发送函数:

这个函数接受俩个参数,一个是进程的id,另一个是信号名称。使用Kill 函数将信号发送给id进程。

sigalarm & pause
#include

这个程序简单的展现了这两个函数配合使用的效果。

signal( )函数:
#include

这个函数展示了设置信号屏蔽字的三种方式。

sigpending()
#include

版权声明:本文为博主原创文章,未经博主允许不得转载。

]]>

本文固定链接: http://zmrlinux.com/2015/06/30/%e4%bf%a1%e5%8f%b7%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95/ | Kernel & Me

该日志由 root 于2015年06月30日发表在 操作系统, 操作系统&&数据库 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 信号使用方法 | Kernel & Me