双域名网站软件开发工具有哪些

张小明 2026/1/12 22:05:07
双域名网站,软件开发工具有哪些,网站功能板块,杭州北京网站建设公司目录 一、信号通信 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进行投诉反馈,一经查实,立即删除!

网站首页flash模板百度搜索引擎营销案例

美团LongCat-Video开源:13.6B参数模型实现5分钟长视频生成突破 【免费下载链接】LongCat-Video 项目地址: https://ai.gitcode.com/hf_mirrors/meituan-longcat/LongCat-Video 导语 美团LongCat团队正式发布13.6B参数视频生成模型LongCat-Video&#xff0c…

张小明 2025/12/31 13:27:55 网站建设

网络营销比赛 营销型网站策划学网站建设好么

Ultimate Vocal Remover技术栈深度剖析:从问题诊断到实战优化的完整指南 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui 音频分离技术…

张小明 2026/1/1 0:31:04 网站建设

建设速干裤移动网站太原网站建设设计

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

张小明 2026/1/6 1:35:56 网站建设

骑行网站模板外国服务器ip地址

你是否曾经遇到过这些困扰:重要文件下载到一半被系统休眠中断?远程会议中突然被屏保打断?长时间渲染任务被迫中止?这些问题都可以通过MouseJiggler这款智能工具得到完美解决。MouseJiggler通过自动保持系统活跃状态,让…

张小明 2026/1/2 5:52:04 网站建设

aipage网站建设flash网站建设技术

第一章:Open-AutoGLM智能体部署Open-AutoGLM 是一款基于开源大语言模型的自主智能体框架,支持任务规划、工具调用与环境交互。部署该智能体需准备具备GPU支持的Linux服务器,并配置Python 3.10及以上运行环境。环境准备 安装CUDA驱动与cuDNN&a…

张小明 2026/1/12 8:05:03 网站建设

网站分销系统公关就是陪人睡觉吗

一文吃透STM32工控通信协议配置:Modbus、CANopen与LwIP实战全解析在工业自动化现场,你是否曾为搭建一个稳定的通信链路而彻夜调试?是否在面对PLC、驱动器和上位机之间五花八门的协议时感到无从下手?更别提那些隐藏在CRC校验错误、…

张小明 2026/1/1 12:33:21 网站建设