- 博客(2)
- 收藏
- 关注
原创 Linux进程信号:signal(),sigaction()
本文介绍了Linux系统中的信号机制。信号是进程间通信的一种方式,用于通知进程发生了特定事件。文章首先解释了信号的概念及其在进程终止中的应用,列举了31种常见信号及其默认行为。随后详细阐述了信号处理机制,包括signal()和sigaction()两个关键函数的使用方法,并通过代码示例演示了如何捕捉和处理SIGINT信号。文章还介绍了发送信号的系统调用(kill、raise、alarm)及其实现原理,并分析了信号的递达、未决和阻塞状态。最后通过示例代码展示了如何设置信号屏蔽字、获取pending信号集以及实
2025-07-08 02:18:28
841
原创 Linux进程信号量:semget(),semop(),semctl()
本文介绍了信号量在操作系统中的概念和应用。信号量本质上是一个计数器,用于协调进程对共享资源的访问,防止多个程序同时访问临界区导致问题。文章详细解析了二进制信号量的工作原理(P/V操作),以及Linux系统中的信号量实现机制,包括semget()创建/获取信号量、semop()改变信号量值、semctl()控制信号量等核心函数及其参数说明。特别强调了信号量操作的原子性和互斥功能,以及信号量作为公共资源自身的安全性要求。这些机制共同保证了多进程环境下资源访问的安全性和有序性。
2025-07-03 19:11:14
851
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅