国家建设官方网站原创网站设计费用

张小明 2025/12/31 15:14:27
国家建设官方网站,原创网站设计费用,刷题网站建设,大连市建设工程招标网一、信号通信信号是 Linux/Unix 中用于异步通知进程的机制#xff0c;可处理随机事件#xff08;如用户按下CtrlC、进程出错等#xff09;。1. 信号的核心工作流程信号产生#xff1a;由随机事件触发#xff08;如用户操作、系统调用、硬件异常#xff09;。信号传递可处理随机事件如用户按下CtrlC、进程出错等。1. 信号的核心工作流程信号产生由随机事件触发如用户操作、系统调用、硬件异常。信号传递Linux 内核接收信号请求在进程控制块PCB中根据 PID 找到目标进程。信号处理目标进程暂停原有工作流程执行 PCB 中信号对应下标的处理函数如信号 2 对应handle2。恢复执行信号处理函数执行完毕后进程回到原有代码继续运行。2. 核心函数接口1发送信号kill#include signal.h #include sys/types.h int kill(pid_t pid, int sig);功能向指定 PID 的进程发送编号为sig的信号。参数pid目标进程的 PID特殊值pid0指定进程pid0同组进程pid-1所有有权限的进程pid-1组 ID 为|pid|的进程。sig信号编号可通过kill -l查看所有信号如SIGINT2、SIGKILL9。返回值成功返回 0失败返回 - 1设置errno。2捕获 / 自定义信号处理signal#include signal.h // 函数原型简化版sighandler_t为函数指针类型 typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler);功能为编号signum的信号设置处理函数。参数signum要处理的信号编号。handler信号处理方式可选SIG_DFL使用默认处理如SIGINT默认终止进程。SIG_IGN忽略信号如忽略SIGINT则CtrlC无效。自定义函数指针执行用户自定义的处理逻辑函数参数为信号编号。返回值成功返回之前的信号处理函数指针失败返回SIG_ERR设置errno。3. 常用信号信号编号信号名触发场景默认处理2SIGINT用户按下CtrlC终止进程9SIGKILL强制终止进程终止进程不可捕获 / 忽略15SIGTERMkill默认发送的信号终止进程17SIGCHLD子进程退出 / 终止忽略二、System V 共享内存共享内存是 System V 标准提供的 ** 进程间通信IPC** 方式是最快的 IPC 机制直接操作内存无数据拷贝。1. 核心特性与管道对比特性共享内存管道无名 / 有名读写权限双方均可读写双向半双工无名管道/ 全双工有名管道阻塞机制无读阻塞、无写阻塞读阻塞无数据、写阻塞缓冲区满数据留存数据持久化不主动删除则保留数据读取后即被销毁配套使用需与信号 / 信号量集搭配实现同步互斥自带阻塞机制可独立使用内存形态连续内存区域类似字符数组内核缓冲区2. 共享内存的操作流程申请键值ftok→ 创建/获取共享内存shmget→ 映射到进程地址空间shmat→ 读写操作 → 解除映射shmdt→ 删除共享内存shmctl3. 核心函数接口1生成唯一键值ftok#include sys/types.h #include sys/ipc.h key_t ftok(const char *pathname, int proj_id);功能通过文件路径和项目 ID 生成唯一的 System V IPC 键值用于关联共享内存对象。参数pathname任意存在且不被删除重建的文件路径如./test.file。proj_id整形数字通常用 ASCII 单字符如a97仅低 8 位有效。返回值成功返回唯一键值key_t失败返回 - 1设置errno。2创建 / 获取共享内存shmget#include sys/ipc.h #include sys/shm.h int shmget(key_t key, size_t size, int shmflg);功能向内核申请共享内存对象创建新对象或获取已有对象。参数key由ftok生成的唯一键值特殊值IPC_PRIVATE创建私有共享内存仅父子进程可用。size申请的共享内存大小单位字节建议为页大小的整数倍页大小通常为 4096 字节。shmflg权限标志组合使用八进制权限如0664同文件权限。IPC_CREAT若不存在则创建新共享内存。IPC_EXCL与IPC_CREAT搭配若已存在则返回错误确保创建新对象。返回值成功返回共享内存 IDshmid失败返回 - 1设置errno。3映射共享内存到进程地址空间shmat#include sys/types.h #include sys/shm.h void *shmat(int shmid, const void *shmaddr, int shmflg);功能将内核中的共享内存映射到进程的本地虚拟地址空间。参数shmid由shmget返回的共享内存 ID。shmaddr指定映射的本地地址通常设为NULL由系统自动分配。shmflg映射权限0读写SHM_RDONLY只读。返回值成功返回映射后的内存地址失败返回(void*)-1设置errno。4读写共享内存共享内存映射后可直接通过指针操作常用函数字符串操作strcpy、strcat、strcmp适用于字符串数据。二进制数据操作memcpy适用于结构体、数组等二进制数据。5解除映射shmdt#include sys/types.h #include sys/shm.h int shmdt(const void *shmaddr);功能将进程的本地地址与共享内存断开映射关系并非删除共享内存。参数shmaddrshmat返回的映射地址。返回值成功返回 0失败返回 - 1设置errno。6控制 / 删除共享内存shmctl#include sys/ipc.h #include sys/shm.h int shmctl(int shmid, int cmd, struct shmid_ds *buf);功能修改共享内存属性或删除共享内存对象。参数shmid共享内存 ID。cmd操作命令常用IPC_RMID删除共享内存对象IPC_STAT获取属性IPC_SET设置属性。buf指向shmid_ds结构体的指针IPC_RMID时设为NULL即可。返回值成功返回 0失败返回 - 1设置errno。3. 常用命令管理共享内存命令功能ipcs -a查看所有 System V IPC 对象共享内存、信号量、消息队列ipcs -m仅查看共享内存ipcrm -m shmid删除指定 ID 的共享内存
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

格尔木建设局网站互联网电子商务网站开发技术

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请对比生成两个版本的Post请求实现:1. 传统手动编写的版本 2. 使用快马AI生成的版本。要求比较:代码行数、开发时间、可维护性、错误处理完整性等维度。使用…

张小明 2025/12/29 16:24:44 网站建设

网站开发产品需求说明景德镇陶瓷企业网站建设

5大核心功能解析:如何用云端技术重塑情侣互动体验 【免费下载链接】Rainbow-Cats-Personal-WeChat-MiniProgram 给女朋友做的微信小程序!情侣自己的任务和商城系统! 项目地址: https://gitcode.com/gh_mirrors/ra/Rainbow-Cats-Personal-We…

张小明 2025/12/29 16:24:10 网站建设

卖自己做的网站去哪企业如何进行网站备案

还在为直播时观众听不清内容而烦恼吗?想要让更多人无障碍地观看你的直播内容?OBS实时字幕插件就是你的完美解决方案!这款基于Google语音识别技术的插件,能让你在直播过程中自动生成精准的字幕,大大提升内容的可访问性和…

张小明 2025/12/29 16:23:35 网站建设

个人 网站 备案企业网站营销常用的方法

在数字人开发领域,我们长期受困于一种“拼装怪”模式:语音识别(ASR)模块负责听,自然语言处理(NLP)模块负责理解,知识库负责查,大语言模型(LLM)负责…

张小明 2025/12/29 16:23:00 网站建设

课程网站建设方案游戏制作软件免费版

1.如何利用 Go 语言特性设计一个 QPS 为 500 的服务器? 回答重点 思路 1) 回答 QPS 高低和什么因素有关 2) 指出题意的问题,条件变量很多,500的定义较为模糊。 3) 回答 GO 有哪些方式可以提高QPS。 4) 如何测试与分析机器的QPS。 示例回答 面试官好,QPS影响因素…

张小明 2025/12/29 16:22:26 网站建设

淄博个人承接网站制作舟山市住房城乡建设局网站

VideoFusion终极指南:如何3步完成视频批量智能优化 【免费下载链接】VideoFusion 一站式短视频拼接软件 无依赖,点击即用,自动去黑边,自动帧同步,自动调整分辨率,批量变更视频为横屏/竖屏 https://271374667.github.io/VideoFusion/ 项目地址: https://gitcode.co…

张小明 2025/12/29 16:21:52 网站建设