建网站难吗无锡微信网站

张小明 2026/1/8 7:50:34
建网站难吗,无锡微信网站,互联网公司排名完整,如何优化搜索引擎关键词目录 一、信号通信 1.信号的核心作用 2.信号的发送和接收流程 3.常用信号的默认行为 4.信号相关函数 4.1 发送信号 4.2 捕获信号 二、共享内存 1.共享内存的核心流程 2.共享内存与管道对比 3.共享内存相关函数 3.1 生成唯一键值#xff1a;ftok () 3.2 申请共享内…目录一、信号通信1.信号的核心作用2.信号的发送和接收流程3.常用信号的默认行为4.信号相关函数4.1 发送信号4.2 捕获信号二、共享内存1.共享内存的核心流程2.共享内存与管道对比3.共享内存相关函数3.1 生成唯一键值ftok ()3.2 申请共享内存shmget ()3.3 映射共享内存到本地shmat ()3.4 共享内存的读写操作memcpy () / strcpy ()3.5 撤销共享内存映射shmdt ()3.6 删除共享内存 / 修改属性shmctl ()4.常用命令三、总结一、信号通信1.信号的核心作用异步通信不用等对方 “回应”直接发信号通知通知机制处理随机事件比如程序崩溃、用户中断2.信号的发送和接收流程以 “给 PID1000 的进程发信号 2SIGINT” 为例触发信号比如终端执行 kill -2 1000系统查找进程Linux 在 PCB进程控制块链表中找到 PID1000 的进程中断原流程暂停进程当前代码执行 PCB 中信号 2 对应的处理函数比如 handle2恢复运行handle2 执行完进程回到原代码继续运行Ubuntu 系统中所支持的全部个信号如下3.常用信号的默认行为通过 “man 7 signal” 指令查看Term终止进程比如 SIGINT 信号 2、SIGTERM 信号 15Core终止进程并生成核心转储文件比如 SIGSEGV 信号 11内存越界Ign忽略信号比如 SIGCHLD 信号17子进程退出通知Stop/Cont暂停 / 恢复进程比如 SIGSTOP 信号 19注意SIGKILL信号 9和SIGSTOP信号 19无法被捕获、阻塞或忽略是强制终止 / 暂停进程的 “终极手段”。4.信号相关函数4.1 发送信号// 函数原型 int kill(pid_t pid, int sig);功能通过该函数可以给 pid 进程发送信号为 sig 的系统信号。参数说明pid目标进程 / 进程组的 ID有 4 种取值方式pid 0发送信号给 PID 为 pid 的单个进程最常用pid 0发送信号给当前进程所在进程组的所有进程pid -1发送信号给进程组 ID 为 |pid| 的所有进程pid -1发送信号给当前进程有权限发送的所有进程除 init 进程。sig要发送的信号编号如 2 代表 SIGINT、9 代表 SIGKILL若 sig 0 则不发送信号仅检查目标进程是否存在。返回值成功返回 0失败返回 - 1并设置 errno如 ESRCH 表示目标进程不存在EPERM 表示无权限发送信号。4.2 捕获信号// 函数原型 void (*signal(int signum, void (*handler)(int)))(int); // 简化理解 typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler);参数说明signum要设置处理方式的信号编号如 2、9、15handler信号处理函数 / 处理方式有 3 种取值自定义函数指针如 void handle_sigint(int sig)信号触发时执行该函数SIG_DFL使用系统默认处理方式如 SIGINT 默认终止进程SIG_IGN忽略该信号如忽略 SIGCHLD不处理子进程退出通知。返回值成功返回该信号之前的处理方式函数指针失败返回 SIG_ERR并设置 errno。注意SIGKILL(9) 和 SIGSTOP(19) 无法通过 signal () 修改处理方式。二、共享内存1.共享内存的核心流程步骤生成键值 → 申请共享内存 → 映射到本地 → 读写数据 → 撤销映射 → 删除共享内存2.共享内存与管道对比特性共享内存管道读写权限双方都可读写半双工默认单向阻塞机制无读 / 写阻塞需配合信号 / 信号量同步读空 / 写满会阻塞数据存储不删除则一直保留数据读取后会被移除本质内核内存区域像字符数组内核缓冲区3.共享内存相关函数3.1 生成唯一键值ftok ()// 函数原型 key_t ftok(const char *pathname, int proj_id);功能通过 pathname 指定的路径结合 proj_id 生成唯一的临时键值用于后续申请共享内存。参数pathname任意文件的路径 名称只要该文件不会被删除重建即可proj_id整型数字一般用 ASCII 码的单字符表示与 pathname 运算生成唯一键值。返回值成功返回唯一键值失败返回 - 1。3.2 申请共享内存shmget ()// 函数原型 int shmget(key_t key, size_t size, int shmflg);功能使用唯一键值 key 向内核提出共享内存使用申请。参数keyftok () 生成的唯一键值size要申请的共享内存大小shmflg申请的共享内存访问权限八进制表示搭配宏使用IPC_CREAT若共享内存不存在则创建第一个申请时使用IPC_EXCL检测共享内存是否存在需与 IPC_CREAT 配合使用。返回值成功返回共享内存 ID一般用 shmid 表示失败返回 - 1。3.3 映射共享内存到本地shmat ()// 函数原型 void *shmat(int shmid, const void *shmaddr, int shmflg);功能将指定 shmid 对应的共享内存映射到本地内存让进程能直接访问。参数shmid要映射的共享内存 IDshmaddr本地可用的地址不确定则设为 NULL由系统自动分配shmflg0表示对共享内存有读写权限SHM_RDONLY表示仅只读权限。返回值成功返回映射的地址一般等于 shmaddr失败返回 (void*)-1。3.4 共享内存的读写操作memcpy () / strcpy ()映射完成后可通过常规内存操作函数读写共享内存memcpy()用于二进制对象的读写strcpy()用于字符串对象的读写。3.5 撤销共享内存映射shmdt ()// 函数原型 int shmdt(const void *shmaddr);功能将本地内存与共享内存断开映射关系。参数shmaddrshmat () 返回的映射地址。3.6 删除共享内存 / 修改属性shmctl ()// 函数原型 int shmctl(int shmid, int cmd, struct shmid_ds *buf);功能修改共享内存属性或删除指定的共享内存对象。参数shmid要操作的共享内存 IDcmd操作指令设为 IPC_RMID 表示删除共享内存对象buf设为 NULL 表示仅执行删除操作无需获取 / 修改共享内存属性。返回值成功返回 0失败返回 - 1。4.常用命令查看 IPC 资源ipcs -a能看共享内存、信号量、消息队列删除共享内存ipcrm -m shmid通过 shmid 删除指定共享内存三、总结信号核心函数kill()发信号、signal()处理信号且 SIGKILL / SIGSTOP 无法被捕获 / 忽略共享内存核心流程是 “生成键值→申请→映射→读写→撤销映射→删除”核心函数为 ftok()、shmget()、shmat()、shmdt()、shmctl()共享内存无天然阻塞 / 同步机制需配合信号 / 信号量保证数据读写安全。通过 shmid 删除指定共享内存
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做直播网站收费吗产品网络营销

网络安全人才缺口大,零起点新手怎么入行?别慌,这4条进阶之路总有一条适合你! “听说网络安全行业薪资高、缺口大,可零基础的我该从何下手?” 你可能和我一样,刷着招聘软件上动辄30k的月薪岗位眼…

张小明 2025/12/31 4:58:57 网站建设

zenm自己做网站益阳有专做网站的吗

还在为手动记录视频内容而烦恼吗?🤔 Bili2text这款开源工具正在彻底改变我们处理B站视频的方式!它能够将数小时的视频内容在短短几分钟内转换为可编辑的文本,让你从此告别手忙脚乱的笔记时光。无论你是学生、内容创作者还是知识工…

张小明 2025/12/30 19:39:39 网站建设

做国外的网站有什么不用钱的网络推广seo教程

LangFlow 导入已有 LangChain 代码的兼容性分析 在当前 AI 应用快速迭代的背景下,越来越多团队开始构建基于大语言模型(LLM)的工作流。LangChain 作为主流开发框架,凭借其模块化设计和灵活组合能力,已经成为许多项目的…

张小明 2025/12/27 14:18:07 网站建设

泊头网站建设的有哪些wordpress无插件对接公众号

百度网盘高速下载解决方案:突破限速的技术实践 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的下载速度而烦恼吗?这款百度网盘解析工具…

张小明 2025/12/27 14:17:33 网站建设

电商网站开发哪家好湛江专业舞台制作

NPM安装AI工具链:配合Wan2.2-T2V-5B构建前端视频生成界面 你有没有想过,只需在网页输入一句“一只橘猫踩着滑板冲下山坡”,几秒后就能看到一段连贯的动画视频?这不再是科幻场景——随着轻量化生成模型与现代前端工程的深度融合&am…

张小明 2026/1/6 2:05:48 网站建设