信号在进程间通信里面应该是使用场景最多的一个。
平时我们在终端里面用的 CTRL C 结束进程或者CTRL Z 暂停进程,都属于信号的一种。
Linux里面信号有60多个,分为标准信号和实时信号,编号从1到31,34到64。不同的内核版本略有区别。
发送信号一般用 kill 指令,比如启动一个进程,先查到进程的 ID 号,然后使用 kill -2 加上进程号就能结束进程。其中,-2 表示 SIGINT 信号,这个宏在 signal.h 头文件里面有定义。使用这些信号的时候,既可以用宏定义,又可以用编号。
结束一个进程,很多时候会选择 kill -9 ,为什么选择 9 这个信号,因为这个信号比较特殊,所有进程都不能忽略它。
kill不仅是命令,还是一个函数,用法和命令差不多也是提供进程号,加上要发送的信号值,收到信号的进程默认动作是结束。不过也可以通过 signal 或者 sigaction 来指定处理方法,可以是忽略当前信号,也可以执行指定的函数。
审核编辑:黄飞
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
原文标题:进程间通信之信号
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
相关推荐
突发通信信号是啥?简单来说就是通信信号在时间上是断断续续的,而不是一直发射的。从时域上看是这样的:
发表于 04-17 14:14
•412次阅读
消息队列是一种非常常见的进程间通信方式。
发表于 04-08 17:27
•116次阅读
通过此代理读写数据来实现进程间的数据通信,更具体的讲,首先请求服务的(Client)一端会建立一个服务提供端(Server)的代理对象,这个代理对象具备和服务提供端(Server)一样的功能,若想访问
发表于 02-17 14:20
一、IPC与RPC通信概述 基本概念 IPC(Inter-Process Communication)与RPC(Remote Procedure Call)用于实现跨进程通信,不同的是前者
发表于 02-02 17:47
•802次阅读
进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。
发表于 11-29 14:45
•368次阅读
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程
发表于 11-13 10:48
•186次阅读
进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。
发表于 11-11 14:42
•356次阅读
一.为什么进程间需要通信? 1).数据传输 一个进程需要将它的数据发送给另一个进程; 2).资源共享 多个进程之间共享同样的资源; 3).通
发表于 11-10 17:05
•409次阅读
我们知道linux的进程的间通信的组件有管道,消息队列,socket, 信号量,共享内存等。但是我们如果自己实现一套进程间通信的机制的话,要
发表于 11-10 14:56
•385次阅读
进程间通信(IPC): 进程间通信的方式有很多,这里主要讲到进程间通信的六种方式,分别为:管道、
发表于 11-09 09:25
•380次阅读
通信信号的频域参数包括载波频率,带宽、码元速率、扩频/跳频速率等。通信信号的载波频率是通信信号的
发表于 10-19 10:21
•772次阅读
进程间通信 如果两个进程,想要知道对方在干嘛,或者进行协调运行,就需要进程间通信。下面介绍一下常见的进程
发表于 10-08 15:48
•831次阅读
进程间通信(interprocess communication,简称IPC)指两个进程之间的通信。系统中的每一个进程都有各自的地址空间,并
发表于 07-21 11:23
•654次阅读
今天我们来讲讲进程间使用共享内存通信时为了确保数据的正确,如何进行同步?
发表于 06-20 09:41
•599次阅读
今天我们来讲讲进程间使用共享内存通信时为了确保数据的正确,如何进行同步?
发表于 05-11 18:25
•1232次阅读
评论