网站建设 自助建站中文网站制作

张小明 2026/1/10 11:50:38
网站建设 自助建站,中文网站制作,做网站咸阳,公司网站找不到了Linux进程间通信#xff08;IPC#xff09;一、信号通信1. 信号概述应用场景#xff1a;异步通信通知机制处理随机事件特点#xff1a;轻量级#xff0c;用于进程间简单通知2. 信号处理流程信号产生#xff1a;根据需要#xff08;随机事件#xff09;产生信号内核处理…Linux进程间通信IPC一、信号通信1. 信号概述应用场景异步通信通知机制处理随机事件特点轻量级用于进程间简单通知2. 信号处理流程信号产生根据需要随机事件产生信号内核处理Linux内核接收到信号请求在PCB链表中查找对应的PID信号处理找到对应进程后暂停当前工作流程执行PCB中信号处理函数例发送信号2则调用handle2()恢复执行信号处理函数执行完毕后进程继续原来的代码执行3. 信号相关函数发送信号int kill(pid_t pid, int sig);功能给指定进程发送信号参数pid接收信号的进程PIDsig信号编号可用kill -l查看返回值成功返回0失败返回-1信号捕获与处理void (*signal(int signum, void (*handler)(int)))(int); // 或使用简化类型 sighandler_t signal(int signum, sighandler_t handler);handler参数选项SIG_DFL默认处理SIG_IGN忽略信号自定义函数用户自定义处理函数查看信号信息man 7 signal # 查看系统中信号的说明和默认处理行为二、管道通信1. 无名管道int pipe(int pipefd[2]);功能创建并打开一个无名管道参数pipefd[0]固定读端pipefd[1]固定写端特点只能用于有亲缘关系的进程间通信单向通信生命周期随进程结束2. 有名管道int mkfifo(const char *pathname, mode_t mode);功能创建有名管道文件参数pathname管道文件路径名称mode八进制文件权限特点可用于任意进程间通信以文件形式存在于文件系统需要手动删除三、共享内存1. 概述提供者System VUnix操作系统特点最高效的IPC方式进程直接读写内存无需内核介入需要配合其他同步机制如信号、信号量集2. 与管道对比特性共享内存管道读写方向双方都可读写单向读阻塞无有写阻塞无有数据存储内存数组内核缓冲区数据保持不删除数据读取后删除3. 使用步骤生成key → 申请对象 → 映射对象 → 读写对象 → 撤销映射 → 删除对象4. 相关函数生成唯一键值key_t ftok(const char *pathname, int proj_id);功能生成唯一临时键值参数pathname任意存在的文件路径proj_id整形数字通常用ASCII字符注意路径文件不能被删除重建申请共享内存int shmget(key_t key, size_t size, int shmflg);功能向内核申请共享内存参数key唯一键值size共享内存大小shmflg访问权限八进制 标志IPC_CREAT第一个申请时使用IPC_EXCL检测是否存在返回值成功返回共享内存IDshmid映射共享内存void *shmat(int shmid, const void *shmaddr, int shmflg);功能将共享内存映射到本地内存空间参数shmid共享内存IDshmaddr本地地址通常为NULL系统自动分配shmflg0可读写SHM_RDONLY只读返回值成功返回映射地址读写操作memcpy(); // 二进制数据 strcpy(); // 字符串数据撤销映射int shmdt(const void *shmaddr);功能断开本地内存与共享内存的映射参数shmaddr- 映射地址删除共享内存对象int shmctl(int shmid, int cmd, struct shmid_ds *buf);功能修改属性或删除共享内存参数shmid共享内存IDcmdIPC_RMID删除bufNULL只删除对象5. 系统命令ipcs -a # 查询所有IPC对象共享内存、信号量集、消息队列 ipcrm -m ID # 删除指定的共享内存四、使用注意事项信号信号处理函数应尽量简短注意信号的可重入性问题某些信号不可捕获如SIGKILL管道无名管道需在fork前创建有名管道需要处理读写阻塞注意管道缓冲区大小限制共享内存必须配合同步机制使用注意内存映射的生命周期及时清理避免内存泄漏注意多进程并发访问的数据一致性问题通用建议错误处理要完善资源使用后及时释放考虑进程异常退出的清理工作
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

佳木斯 网站建设wordpress朋友圈图片不显示

ImGui Node Editor:快速构建可视化编程界面的终极方案 【免费下载链接】imgui-node-editor Node Editor built using Dear ImGui 项目地址: https://gitcode.com/gh_mirrors/im/imgui-node-editor 在现代软件开发中,可视化编程已成为提升开发效率…

张小明 2026/1/7 22:46:26 网站建设

云南网站建设设计中国上市公司前100名

第一章:检索重排序的 Dify 结果过滤 在基于检索增强生成(RAG)的应用中,Dify 平台提供了灵活的机制对检索结果进行后处理与重排序。通过对原始检索结果实施过滤与排序优化,系统能够显著提升生成响应的相关性与准确性。 …

张小明 2026/1/10 10:54:38 网站建设

seo诊断报告示例南昌seo网站建设

第二章:数据类型和变量 文章目录第二章:数据类型和变量1. 数据类型及长度和取值范围1.1 字符型1.2 整形1.3 浮点型1.4 布尔类型1.5 sizeof1.6 取值范围2.变量2.1 变量命名规则:2.2 变量分类3. 操作符3.1 算数操作符3.2 赋值操作符3.3 单目操作…

张小明 2026/1/8 1:09:45 网站建设

怎样做自己网站后台不被攻击网站开发哪家公司

深入解析 VXLAN BGP EVPN 数据中心网络架构 1. VXLAN 概述 如今,VXLAN 是少数既可用作网络覆盖层又可用作主机覆盖层的覆盖协议之一。这意味着 VXLAN 报头不仅能在支持 VXLAN 的网络交换机上进行封装/解封装和处理,还能在服务器主机自身完成这些操作。这种特性使得物理与虚…

张小明 2026/1/8 1:09:43 网站建设

湖北省建设厅网站如何申诉中华商标交易网官方网站

新手避坑指南:如何安全下载并正确安装 STM32CubeMX 你是不是在百度搜索“STM32CubeMX 下载”时,跳出来一堆CSDN、百度文库、绿色版打包站的链接?点进去发现有的要积分、有的捆绑广告、甚至还有提示“已删除”的失效资源……别急,…

张小明 2026/1/7 2:57:05 网站建设

俄文网站商城建设福州谷歌推广

在构建高性能网络服务时,连接超时控制是确保系统稳定性的关键因素。ngx_http_proxy_connect_module作为Nginx的CONNECT方法扩展模块,其proxy_connect_data_timeout指令为开发者提供了统一的数据传输超时管理方案。该指令替代了早期版本中分离的读写超时配…

张小明 2026/1/9 13:23:01 网站建设