软件编程管道、信号

管道

进程间最简单的形式,只能进行单向通信

信号

内核层和用户层通信的一种形式,是软件层次上对中断机制的模拟

进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到来,事实上,进程也不知道信号到底什么时候到达

信号处理方法

第一种是捕捉,类似中断的处理程序,对于需要处理的信号,进程可以指定处理函数,由该函数处理;
第二种方法是忽略,忽略某个信号,对该信号不做任何处理,就像未发生过一样;
第三种方法是缺省,对该信号的处理保留系统的默认值,这种缺省操作,对大部分的信号的缺省操作是使得进程终止。进程通过调用signal来指定进程对某个信号的处理行为。
 

      

.signal
            typedef void (*sighandler_t)(int);
            sighandler_t signal(int signum, sighandler_t handler);
            功能:
                切换信号的处理方式
            参数:
                signum:信号的编号
                handler:信号对应的处理方式
                    SIG_IGN     忽略信号
                    SIG_DFL     缺省信号处理方式
                    自定义的函数的函数名(指向函数的指针)
            返回值:    
                成功返回之前注册的信号的处理方式
                失败返回SIG_ERR

kill 其实是作为一个信号,由其中一个进程发给另一个进程,而发送的信号就是终止信号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值