⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000010.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;althea&nbsp;(痛并快乐着~~向日葵),&nbsp;信区:&nbsp;Linux&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Linux信号简介&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sun&nbsp;Dec&nbsp;12&nbsp;16:09:55&nbsp;1999)&nbsp;<BR>&nbsp;<BR>参考libc的info写了篇小文章,&nbsp;希望对大家有帮助.&nbsp;如果有什么错误也请大家帮忙指出:-P&nbsp;<BR>&nbsp;<BR>注:&nbsp;本文遵循GNU&nbsp;License,&nbsp;可以自由/免费(Free的两种含义?&nbsp;:-PP)用于教育用途&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;转载时请包括版权声明&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;1999.12.12&nbsp;by&nbsp;althea&nbsp;<BR>&nbsp;<BR>&nbsp;1)&nbsp;SIGHUP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;本信号在用户终端连接(正常或非正常)结束时发出,&nbsp;通常是在终端的控&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;制进程结束时,&nbsp;通知同一session内的各个作业,&nbsp;这时它们与控制终端&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不再关联.&nbsp;<BR>&nbsp;2)&nbsp;SIGINT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程序终止(interrupt)信号,&nbsp;在用户键入INTR字符(通常是Ctrl-C)时发出&nbsp;<BR>&nbsp;3)&nbsp;SIGQUIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;和SIGINT类似,&nbsp;但由QUIT字符(通常是Ctrl-\)来控制.&nbsp;进程在因收到&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SIGQUIT退出时会产生core文件,&nbsp;在这个意义上类似于一个程序错误信&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号.&nbsp;<BR>&nbsp;4)&nbsp;SIGILL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;执行了非法指令.&nbsp;通常是因为可执行文件本身出现错误,&nbsp;或者试图执行&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;数据段.&nbsp;堆栈溢出时也有可能产生这个信号.&nbsp;<BR>&nbsp;5)&nbsp;SIGTRAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由断点指令或其它trap指令产生.&nbsp;由debugger使用.&nbsp;<BR>&nbsp;6)&nbsp;SIGABRT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程序自己发现错误并调用abort时产生.&nbsp;<BR>&nbsp;6)&nbsp;SIGIOT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在PDP-11上由iot指令产生,&nbsp;在其它机器上和SIGABRT一样.&nbsp;<BR>&nbsp;7)&nbsp;SIGBUS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;非法地址,&nbsp;包括内存地址对齐(alignment)出错.&nbsp;eg:&nbsp;访问一个四个字长&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的整数,&nbsp;但其地址不是4的倍数.&nbsp;<BR>&nbsp;8)&nbsp;SIGFPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在发生致命的算术运算错误时发出.&nbsp;不仅包括浮点运算错误,&nbsp;还包括溢&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;出及除数为0等其它所有的算术的错误.&nbsp;<BR>&nbsp;9)&nbsp;SIGKILL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用来立即结束程序的运行.&nbsp;本信号不能被阻塞,&nbsp;处理和忽略.&nbsp;<BR>10)&nbsp;SIGUSR1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;留给用户使用&nbsp;<BR>11)&nbsp;SIGSEGV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;试图访问未分配给自己的内存,&nbsp;或试图往没有写权限的内存地址写数据.&nbsp;<BR>12)&nbsp;SIGUSR2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;留给用户使用&nbsp;<BR>13)&nbsp;SIGPIPE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Broken&nbsp;pipe&nbsp;<BR>14)&nbsp;SIGALRM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时钟定时信号,&nbsp;计算的是实际的时间或时钟时间.&nbsp;&nbsp;alarm函数使用该&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;信号.&nbsp;<BR>15)&nbsp;SIGTERM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程序结束(terminate)信号,&nbsp;与SIGKILL不同的是该信号可以被阻塞和&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;处理.&nbsp;通常用来要求程序自己正常退出.&nbsp;shell命令kill缺省产生这&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;个信号.&nbsp;<BR>17)&nbsp;SIGCHLD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;子进程结束时,&nbsp;父进程会收到这个信号.&nbsp;<BR>18)&nbsp;SIGCONT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;让一个停止(stopped)的进程继续执行.&nbsp;本信号不能被阻塞.&nbsp;可以用&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个handler来让程序在由stopped状态变为继续执行时完成特定的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;工作.&nbsp;例如,&nbsp;重新显示提示符&nbsp;<BR>19)&nbsp;SIGSTOP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;停止(stopped)进程的执行.&nbsp;注意它和terminate以及interrupt的区别:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;该进程还未结束,&nbsp;只是暂停执行.&nbsp;本信号不能被阻塞,&nbsp;处理或忽略.&nbsp;<BR>20)&nbsp;SIGTSTP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;停止进程的运行,&nbsp;但该信号可以被处理和忽略.&nbsp;用户键入SUSP字符时&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(通常是Ctrl-Z)发出这个信号&nbsp;<BR>21)&nbsp;SIGTTIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当后台作业要从用户终端读数据时,&nbsp;该作业中的所有进程会收到SIGTTIN&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;信号.&nbsp;缺省时这些进程会停止执行.&nbsp;<BR>22)&nbsp;SIGTTOU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;类似于SIGTTIN,&nbsp;但在写终端(或修改终端模式)时收到.&nbsp;<BR>23)&nbsp;SIGURG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&quot;紧急&quot;数据或out-of-band数据到达socket时产生.&nbsp;<BR>24)&nbsp;SIGXCPU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;超过CPU时间资源限制.&nbsp;这个限制可以由getrlimit/setrlimit来读取/&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;改变&nbsp;<BR>25)&nbsp;SIGXFSZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;超过文件大小资源限制.&nbsp;<BR>26)&nbsp;SIGVTALRM&nbsp;&nbsp;&nbsp;虚拟时钟信号.&nbsp;类似于SIGALRM,&nbsp;但是计算的是该进程占用的CPU时间.&nbsp;<BR>27)&nbsp;SIGPROF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;类似于SIGALRM/SIGVTALRM,&nbsp;但包括该进程用的CPU时间以及系统调用的&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时间.&nbsp;<BR>28)&nbsp;SIGWINCH&nbsp;&nbsp;&nbsp;&nbsp;窗口大小改变时发出.&nbsp;<BR>29)&nbsp;SIGIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文件描述符准备就绪,&nbsp;可以开始进行输入/输出操作.&nbsp;<BR>30)&nbsp;SIGPWR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Power&nbsp;failure&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;162.105.39.43]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -