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

张小明 2026/1/8 23:57:50
网站建设 自助建站,中文网站制作,做网站咸阳,公司网站找不到了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进行投诉反馈,一经查实,立即删除!

我国网站建设现状东莞 网站设计

艾尔登法环存档迁移工具:告别数据丢失的终极解决方案 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 你是否曾经因为更换电脑、升级游戏版本或者想要创建角色备份而烦恼?数百小时的游戏…

张小明 2026/1/8 21:32:07 网站建设

美妆网站建设规划智慧团建密码一般是什么

自动化脚本中的交互控制与后台处理技术 在自动化脚本的编写过程中,我们常常需要处理各种复杂的交互场景和后台任务。本文将详细介绍如何使用 Tcl 脚本和 Expect 工具来实现这些功能,包括用户交互、窗口管理、信号处理以及后台任务的执行。 1. 用户交互与窗口管理 在脚本中…

张小明 2026/1/8 21:32:05 网站建设

化妆品网站设计欣赏网站收录量

罗德与施瓦茨SMCV100B矢量信号发生器适用于移动通信、GNSS 和更多应用的理想解决方案R&SSMCV100B 矢量信号发生器为同类产品树立了标杆。R&SSMCV100B 具有高输出功率、充分校准的宽带信号生成和直观的触摸屏操作,适用于各种应用。SMCV100B 始终符合 5G NR、…

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

秀洲区建设中心小学网站东莞市建设银行招聘网站

Qwen3-8B突破性能力深度解析:如何实现思考模式与推理性能的双重革命? 【免费下载链接】Qwen3-8B 项目地址: https://ai.gitcode.com/openMind/Qwen3-8B Qwen3-8B作为阿里通义千问系列的最新力作,在人工智能领域掀起了一场技术革命。这…

张小明 2026/1/8 23:00:16 网站建设

酒类网站该怎么做十大纯净系统网站

大家最近是不是忙着搞定论文?熬了这么多夜,真是辛苦了!不过,论文写完还不是结束。猛地一想,答辩PPT还没做啊!要知道,论文写的再好,答辩时PPT不给力,讲述卡壳,…

张小明 2026/1/8 23:00:12 网站建设