进程间通信相关函数

一、进程间的通信

 

1.pipe

功能:创建无名管道

原型:int pipe(int fds[2])

参数:新建两个文件描述符,由fds数组返回

           fds[0]:用于读管道

           fds[1]:用于写管道

头文件:unistd.h

返回值:成功:0

                   失败:-1

 

2.mkfifo

功能:创建有名管道

原型:int mkfifo(const char * filename, mode_t mode)

参数:filename:有名管道的路径、名称

           mode:管道的模式

1) O_NONBLCOK FIFO打开的时候非阻塞

2) O_RDONLY 只读

3) O_WRONLY 只写

4) O_RDWR 读写

 

二、信号发送

1.kill

功能:传递信号给指定进程

原型:int kill(pid_t pid, int sig)

参数:pid > 0 指定进程pid

              = 0 发送给目前进程相同组的所有进程

              = -1 广播给系统内所有进程

头文件:signal.h,sys/rtpes.h

返回值:成功:0

                   出错:-1

 

2.raise

功能:发送信号给自身

原型:int raise(int sig)

头文件:signal.h

例:raise(SIGKILL); 向自身发送杀死信号,杀死该进程

 

3.alarm

功能:设置信号,传递闹钟

原型:unsigned int alarm(unsigned int senconds)

返回值:返回之前闹钟剩余秒数,如果未设置闹钟则返回0

头文件:signal.h,unistd.h

4.pause

功能:让进程暂停知道信号出现

原型:int pause(void)

返回值:-1

 

5.signal

作用:设置信号处理方式

原型:void (*signal(int signum, void (*hander)(int)))(int)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值