- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * 信号通信(Signals) 1. 信号本质 : 信号是在软件层次上对中断机制的一种模拟。 Linux用存放在进程的task_struct结构中的信息来实现信号机制,其中包括如下域: int sigpending; struct signal_struct *sig; sigset_t signal, blocked; struct signal_queue *sigqueue, **sigqueue_tail; 2. 信号来源: 硬件来源(比如我们按下了键盘或者其它硬件故障) 软件来源,最常用发送信号的系统函数是kill, raise, alarm,pause和setitimer以及sigqueue函数,软件来源还包括一些非法运算等操作。 * 3. 信号生命周期 对于一个完整的信号生命周期来说,可以分为几个重要的阶段: 信号诞生; 信号在进程中注册; 信号在进程中的注销; 执行信号处理函数。 * 进程可以通过3种方式来响应一个信号 忽略信号,即对信号不做任何处理,其中,有两个信号不能忽略:SIGKILL及SIGSTOP; 捕捉信号。定义信号处理函数,当信号发生时,执行相应的处理函数; 执行缺省操作,Linux对每种信号都规定了默认操作,注意,进程对实时信号的缺省反应是进程终止。 Linux究竟采用上述三种方式的哪一个来响应信号,取决于传递给相应API函数的参数。 * 在 Linux 中,信号的种类和数目与硬件平台有关。i386 平台上有32 种信号,而Alpha AXP 平台上最多可有 64 种信号。系统中有一组定义好的信号,它们可以由内核产生,也可以由系统中其它有权限的进程产生。可以使用kill命令(kill –l)列出系统中的信号集。下面是Linux 在Intel系统中的信号: 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 在Alpha AXP Linux系统上,信号的编号有些不同。 * 下面是几个常见的信号。 SIGHUP: 从终端上发出的结束信号; SIGINT: 来自键盘的中断信号(Ctrl-C); SIGQUIT:来自键盘的退出信号(Ctrl-\); SIGFPE: 浮点异常信号(例如浮点运算溢出); SIGKILL:该信号结束接收信号的进程; SIGALRM:进程的定时器到期时,发送该信号; SIGTERM:kill 命令发出的信号; SIGCHLD:标识子进程停止或结束的信号; SIGSTOP:来自键盘(Ctrl-Z)或调试程序的停止执行信号; ………… * 信号相关操作 发送函数kill()、raise()、alarm()及pause() * 前面讨论的信号和管道虽然可以在进程之间通信,但还有许多应用程序的IPC需求它们不能满足。 因此在System V UNIX(1983)中首次引入了另外三种进程间通信机制(IPC)机制: Linux完全支持Unix System V中的这三种IPC机制。 消息队列message queues 信号灯semaphores 共享内存shared memory * 共享内存(shared memory) 进程1 共享内存 进程2 共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。 共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同的虚拟地址。 * 消息队列(message queue
您可能关注的文档
- KJ15A“信集闭”系统电子演示图讲述.ppt
- KYN28A-12安装配线工艺讲述.docx
- KYN28A-4000技术条件讲述.doc
- KYN61-40.5产品说明书(新)讲述.doc
- KYT教材讲述.ppt
- kyt和吓一跳报告讲述.ppt
- L1线路保护1#试验记录讲述.doc
- KYT教育培训资料讲述.ppt
- L5峡部裂椎体上关节突间距与椎体高度的比值讲述.doc
- Labview培训讲述.ppt
- 最新2025 考点精讲指南速析课执业兽医高分考试题及答案.docx
- 最新2025 考点精讲指南课执业兽医高分考试题及答案.docx
- 光电子技术安毓英习题答案完整版.docx
- 最新2025 考点精讲指南速析课执业兽医必刷试题及答案.docx
- 最新2025 考点精讲指南精析执业兽医通关真题及答案.docx
- 辽宁省抚顺市六校协作体2025-2026学年高二上学期期末联考物理试卷含答案.pdf
- 最新2025 考点精编指南班执业兽医必刷试题及答案.docx
- 最新2025 考点精讲指南课执业兽医精华题库及答案.docx
- 最新2025 考点深析指南速析课执业兽医精华题库及答案.docx
- 最新2025 考点突破指南密训班执业兽医必刷试题及答案.docx
最近下载
- 中南林业科技大学涉外学院《高等数学A》2025-2026学年期末考试试卷(A)卷.docx VIP
- 人工髋关节置换术术后护理.pptx VIP
- 中南林业科技大学《高等数学A》2025-2026学年期末考试试卷(A)卷.docx VIP
- 【浅析幼儿园安全教育现状及改进对策研究—以A幼儿园为例6000字】.docx VIP
- 撬装加油装置预评价报告.pdf VIP
- 电工基础项目教程第2版李爱习题答案解析.pdf
- 《口袋妖怪-火红&叶绿》完整图文攻略.doc VIP
- 高中语文:高中语文常用应用文写作及范例.doc VIP
- 高等数学电子教材.pdf VIP
- 跨文化交际复习资料选择判断题_-.docx VIP
原创力文档


文档评论(0)