1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 22.Linux/Unix 系统编程手册(上) -- 信号:高级特性

22.Linux/Unix 系统编程手册(上) -- 信号:高级特性

时间:2023-10-02 13:07:05

相关推荐

22.Linux/Unix 系统编程手册(上) -- 信号:高级特性

1.核心转储文件特定信号会引发进程创建一个核心转储文件并终止运行。所谓的核心转储文件是内含进程终止时内存映像的一个文件。将内存映像加载到调试器中,即可查明信号到达时程序代码和数据状态。2.可中断和不可中断的进程睡眠状态1.TASK_INTERRUPTIBLE // ps 显示 S2.TASK_UNINTERRUPTIBLE // ps 显示 D3.硬件产生的信号SIGBUS, SIGFPE,SIGILL,SIGSEGV正确处理硬件产生的信号的方法有2个:1.要么接受信号的默认行为(终止进程)2.要么为其编写不能正常返回的处理函数。如 _exit(), siglongjmp(),确保将控制传递回程序中的某一位置。4.信号的同步生成和异步生成1.异步产生的信号,其发生与进程的执行无关2.同步产生的信号,即自己给自己发送的信号,会立即传递5.信号传递的时机和顺序1.如何传递一个信号1.同步产生的信号会立即传递2.异步信号产生一个信号时,即使并未阻塞,在信号产生和实际传递之间仍可能会存在一个延迟。在此期间,信号处于等待。这是因为内核将等待信号传递给进程的时机是,该进程正在执行,且发生由内核态到用户态的下一次切换时。实际上,这意味着以下时刻才会传递信号:1.进程在前度超时后,再度获得调度时(即,在下一个时间片的开始处)2.系统调用完成时(信号的传递可能引起在阻塞的系统调用过早的完成)6.实时信号和标准信号sysv_signal();sigqueue(); // 发送实时信号sigsuspend(); // 接触信号并挂起进程sigwaitinfo();sigtimedwait();signalfd();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。