Linux编程中的信号Signal

系统信号是Unix/Linux以及其他POSIX标准系统中进程非同步通知机制。用于操作系统告知应用程序某事件即将发生,应用程序通过订阅监听相应的信号,可以在某事发生前/时/后及时做出相应反应。当一个信号抵达时,程序正常非原子操作被打断,注册的预处理函数将会被调用。信号和系统中断处理很相似,区别是中断是操作系统被打断,处理相应的事件。信号是应用程序被打断,其中操作系统可以将中断转为信号发送给应用程序。

Ctrl+C = SIGINT信号;

Ctrl+Z = SIGTSTP信号;

Ctrl+\ = SIGQUIT信号;

kill命令 - SIGTERM和SIGKILL信号。SIGTERM是kill不带参数时发出的,用于友好退出,相当于通知其退出,但是可以被阻塞和忽略,所以有的进程不恩你个被结束。kill带参数发出SIGKILL

强制终结应用。

SIGFPE - 除数为零;

SIGTOP - 停止/挂起进程Ctrl+D;

SIGSEGV - 段错误。

Linux应用开发中,可以通过signal(signal,handler)来注册相应信号的处理函数。

posted @   远桥  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示