信号:在生活中,我们遇到过不同种类的信号,比如:(交通信号,乃至某个人的表情,动作等带给你不同的信号)然而,在我们的linux下,我们最熟悉的就是,当遇到一个死循环的程序时,我们第一想到的就是按ctrl+c,此时这个进程立马终止,这是一种通过键盘产生的信号。而说起ctrl+c,就引出了前台进程和后台进程。当ctrl+c产生的信号只能发给前台进程。
用kill -l命令就可以查看信号了;
产生信号的另一种方式是:信号异常触发系统使该进程终止:
例子:
运行结果:
还有一种方式,通过指令来使该进程终止:
然后直接运行./test:

本文详细介绍了Linux系统下的信号机制,包括信号的产生、信号处理的三种方式(忽略、默认、自定义)以及信号的阻塞和未决状态。通过实例展示了如何使用kill命令、系统调用等产生信号,并解释了不同信号在进程中的表示和处理。同时,讨论了信号集操作函数如sigemptyset、sigfillset、sigaddset和sigdelset,以及如何使用sigprocmask和sigpending来管理进程的信号屏蔽字和未决信号集。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



