欢迎来到天天文库
浏览记录
ID:43033139
大小:43.00 KB
页数:8页
时间:2019-09-25
《linux下c编程:信号处置方法实习运用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux下C编程:信号处置方法实习运用LinuxKC编程:信号处置方法实习运用信号是用于一步作业的。当一个信号发生时,程序会按照现己设定好的程序来实行相应的操作。进程对信号处置的方法通常有两种:1、捕捉信号:当一个信号发送个进程时,该进程会调用此信号注册的信号处置函数,来结束相应的操作。对应于每个信号系统通常会有相应的默许处置函数(通常为间断进程)。所以可以设置信号为默许的处置函数。2、忽略信号。当信号发送时,进程忽略信号。注:有两个信号是无法捕捉和忽略的SIGKILL和SIGSTOPo它们是提供给管理员,
2、可以在任何吋辰间断某个进程而设定的。对信号处置的需耍:在用户编程时有时进程需耍对某信号进行当即照应。对冇些实时进程來说,当它实行时是不愿意被打断的,这是就需要把接收的信号挂起。信号的运用:错,如bus差错,浮点差错,调用内存差错等都有相应的信号通知进程。此外信号还冇其他用途。如作业一个大型的科学运算程序,如果在一个无最循环顶用printf来闪现作业情况,必定构成作业功率的下降。所以通过信号,人为的向进程发送消息,來查看作业情况,就大人的提高了作业功率。Linux下C编程:信号具体含义说明信号及其简介信号是一种
3、进程通讯的方法,他运用于异步作业的处置。信号的结束是一种软间断。它被发送为一个正在作业的进程,已奉告进程某个作业发生了。1)SIGHUP本信号在用八终端联接(正常或非正常)结束吋宣告,通常是在终端的控制进程结束时,通知同一session内的各个作业,这时它们与控制终端不再有关.2)SIGINT程序间断(interrupt)信号,通常是从终端宣告间断指令如ctrl+c或键3)SIGQUIT和SIGINT类似,但由QUIT字符(通常是Ctrl+)来控制.进程在因收到SIGQUIT退出时会发生core文件,在这个
4、含义上类似于一个程序差错信号.或许妄图实行数据段.库房溢出时也有nJ'以发生这个信号.5)SIGTRAP跟踪骗局信号,由断点指令或其它trap指令发生.由debugger运用.5)SIGABRT调用abort时发牛的信号,将会使进程非正常结束。6)SIGIOTIO差错信号.7)SIGBUS系统总线差错时发生的信号,不合法地址,包括内存地址对齐(alignment)犯错.eg:访问一个四个字长的整数,但其地址不是4的倍数.8)SIGFPE在发生丧身的算术运算差错时宣告.不只包括浮点运算差错,还包括溢出及除数为0
5、等其它一切的算术的差错.9)SIGKILL可以间断任何进程的信号,只能由管理员宣告,该信号不会被捕捉和忽略。10)SIGUSR1留给用户运用,用户可在运用程序中自行定义。11)SIGSEGV妄图访问未分配给自个的内存,或妄图往没有写权限的内存地址写数据,不合法运用内存地址信号。13)SIGPIPE当一个进程对管道进行完读后进行写时发生的信号。14)SIGALRM时钟守时信号,山alarm函数设定的时辰间断时发生的信号。15)SIGTERM程序结束(terminate)信号占SIGKILL不一样的是该信号可以被
6、阻塞和处置.通常用来需要程序白个正常退出.shell指令kill缺省发生这个信号.17)SIGCHLD子进程结束或间断时发生该信号,父进程会收到这个信号•通过该信号父进程可以知道子进程的作业情况。但大多数情况下此信号会被忽略。18)SIGCONT让一个间断(stopped)的进程继续实行.木信号不能被阻塞.19)SIGSTOP间断(stopped)进程的实行•注意它和terminate以及interrupt的区别:该进程还耒结束,只是暂停实行.本信号不能被阻塞,处置或忽略.20)SIGTSTP间断进程的作业,
7、但该信号可以被处置和忽略.用户键入SUSP字符时(通常是Ctrl-Z)宣告这个信号信号。当读入数据的进程阻塞或忽略这个信号,或读取数据的进程地址进程组是一个孤立进程组时,信号不会发生,而R发生读差错。ernw被设为ETO22)SIGTTOU类似于SIGTTIN,当后台作业要从用户终端读数据时,间断驱动器发生的信号。当读入数据的进程阻塞或忽略这个信号,或读取数据的进程地址进程组是一个孤立进程组时,信号不会发生,而口发生读差错。ernw被设为ETO。仅有不一样的是进程可以选择后台写。23)SIGURGsocket
8、上出现紧急情况是宣告的信息。22)SIGXCPU逾越CPU时辰资源束缚.这个束缚可以由gctrlimit/sctrlimit来读取/改动23)SIGXFSZ逾越文件大小资源束缚.24)SIGVTALRM虚拟时钟信号.类似于SIGALRM,可是核算的是该进程占用的CPU时辰.25)SIGPROF类似于SIGALRM/SIGVTALRM,但包括该进程用的CPU吋辰以及系统调用的时辰.26)SIGWINC
此文档下载收益归作者所有