linux 进程通信—管道通信
来源:互联网 发布:动态规划的最优化原理 编辑:程序博客网 时间:2024/04/29 18:32
进程通信
1、 pipe
函数的作用:创建无名管道
函数的原型:int pipe(int fds[2])
函数的参数:新建的两个描述符fds数组返回
fds[0],表示管道的读取端
fds[1],表示管道的写入端
返回值:成功:0
出错:-1;
头文件:#include <unistd.h>
2、 mkfifo
函数的作用:创建有名管道
函数的原型:int mkfifo(const char*filename, mode_t mode)
参数的参数:filename:有名管道的路径、名称
mode:管道的方式
O_NONBLOCK : FIFO打开的时候非阻塞
O_RDONLY:以只读的方式创建
O_WRONLY:以只写的方式创建
O_RDWR :以可读写的方式创建
返回值:成功:0;
出错:-1;
3、 kill
函数的作用:传递信号给指定的进程
函数的原型:int kill(pid_t pid, int sig)
函数的参数:pid: > 0,指定的进程pid
pid:=0,发送给目前进程相同进程租的所有进程
Pid : -1,广播给系统的所有的进程
Sig :信号
返回值:成功:0;
失败:-1;
头文件:#include <sys/types.h>
#include <signal.h>
4、 raise
函数的作用:发送信号给本身
函数的原型:int raise( int sig)
头文件:#include <singal.h>
5、 alarm
函数的作用:设置信号传送闹钟
函数的原型:unsigned int alarm(unsigned int seconds)
返回值:返回之前闹钟的剩余秒数,若之前无闹钟,返回0
6、 pause
函数的作用:让进程暂停知道信号出现
函数的原型:int pause(void)
返回值:-1;
头文件:#include <unistd.h>
7、 singal
函数的作用:设置信号处理方式
函数的原型:void (*singal) (int signum, void (*handler)(int)))(int)
typedef void(*sighandler_t(int)) sifhandler_t
singal (int signum , sighandler_t handler)
进程通信学习的总结:
1、 进程通信有哪几种方式?
(1) 无名管道:用于父子进程间的通信
(2) 有名管道:用于同一文件系统中的任意两个进程
2、 管道和文件有什么区别?
3、 创建管道与创建进程间的关系?
通常,我们要先创建一个管道,再通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道进程通信
1、 pipe
函数的作用:创建无名管道
函数的原型:int pipe(int fds[2])
函数的参数:新建的两个描述符fds数组返回
fds[0],表示管道的读取端
fds[1],表示管道的写入端
返回值:成功:0
出错:-1;
头文件:#include <unistd.h>
2、 mkfifo
函数的作用:创建有名管道
函数的原型:int mkfifo(const char*filename, mode_t mode)
参数的参数:filename:有名管道的路径、名称
mode:管道的方式
O_NONBLOCK : FIFO打开的时候非阻塞
O_RDONLY:以只读的方式创建
O_WRONLY:以只写的方式创建
O_RDWR :以可读写的方式创建
返回值:成功:0;
出错:-1;
3、 kill
函数的作用:传递信号给指定的进程
函数的原型:int kill(pid_t pid, int sig)
函数的参数:pid: > 0,指定的进程pid
pid:=0,发送给目前进程相同进程租的所有进程
Pid : -1,广播给系统的所有的进程
Sig :信号
返回值:成功:0;
失败:-1;
头文件:#include <sys/types.h>
#include <signal.h>
4、 raise
函数的作用:发送信号给本身
函数的原型:int raise( int sig)
头文件:#include <singal.h>
5、 alarm
函数的作用:设置信号传送闹钟
函数的原型:unsigned int alarm(unsigned int seconds)
返回值:返回之前闹钟的剩余秒数,若之前无闹钟,返回0
6、 pause
函数的作用:让进程暂停知道信号出现
函数的原型:int pause(void)
返回值:-1;
头文件:#include <unistd.h>
7、 singal
函数的作用:设置信号处理方式
函数的原型:void (*singal) (int signum, void (*handler)(int)))(int)
typedef void(*sighandler_t(int)) sifhandler_t
singal (int signum , sighandler_t handler)
进程通信学习的总结:
1、 进程通信有哪几种方式?
(1) 无名管道:用于父子进程间的通信
(2) 有名管道:用于同一文件系统中的任意两个进程
2、 管道和文件有什么区别?
3、 创建管道与创建进程间的关系?
通常,我们要先创建一个管道,再通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道
进程通信
1、 pipe
函数的作用:创建无名管道
函数的原型:int pipe(int fds[2])
函数的参数:新建的两个描述符fds数组返回
fds[0],表示管道的读取端
fds[1],表示管道的写入端
返回值:成功:0
出错:-1;
头文件:#include <unistd.h>
2、 mkfifo
函数的作用:创建有名管道
函数的原型:int mkfifo(const char*filename, mode_t mode)
参数的参数:filename:有名管道的路径、名称
mode:管道的方式
O_NONBLOCK : FIFO打开的时候非阻塞
O_RDONLY:以只读的方式创建
O_WRONLY:以只写的方式创建
O_RDWR :以可读写的方式创建
返回值:成功:0;
出错:-1;
3、 kill
函数的作用:传递信号给指定的进程
函数的原型:int kill(pid_t pid, int sig)
函数的参数:pid: > 0,指定的进程pid
pid:=0,发送给目前进程相同进程租的所有进程
Pid : -1,广播给系统的所有的进程
Sig :信号
返回值:成功:0;
失败:-1;
头文件:#include <sys/types.h>
#include <signal.h>
4、 raise
函数的作用:发送信号给本身
函数的原型:int raise( int sig)
头文件:#include <singal.h>
5、 alarm
函数的作用:设置信号传送闹钟
函数的原型:unsigned int alarm(unsigned int seconds)
返回值:返回之前闹钟的剩余秒数,若之前无闹钟,返回0
6、 pause
函数的作用:让进程暂停知道信号出现
函数的原型:int pause(void)
返回值:-1;
头文件:#include <unistd.h>
7、 singal
函数的作用:设置信号处理方式
函数的原型:void (*singal) (int signum, void (*handler)(int)))(int)
typedef void(*sighandler_t(int)) sifhandler_t
singal (int signum , sighandler_t handler)
进程通信学习的总结:
1、 进程通信有哪几种方式?
(1) 无名管道:用于父子进程间的通信
(2) 有名管道:用于同一文件系统中的任意两个进程
2、 管道和文件有什么区别?
3、 创建管道与创建进程间的关系?
通常,我们要先创建一个管道,再通过fork函数创建一个子进程,该子进程会继承父进程所创建的管道
- linux 进程通信—管道通信
- Linux进程通信:管道
- Linux进程通信-管道
- linux 进程通信 ----管道
- linux进程通信--管道
- Linux进程间通信——管道
- Linux进程间通信——管道
- Linux进程间通信——管道
- Linux进程通信——管道
- Linux进程间通信——管道
- Linux进程间通信——管道
- Linux进程通信——管道
- Linux进程间通信——管道
- Linux进程通信——管道
- Linux进程间通信——管道
- Linux进程间通信——管道
- linux学习:进程间通信—管道
- Linux进程间通信之管道通信
- [Linux C编程]消息队列实现同时通信
- 圆形头像之BitmapShader,Matrix实现篇
- 营养与碘
- POI2014
- [PHP]九九乘法表实现三种方式
- linux 进程通信—管道通信
- 分页查询spring boot+spring data+ajax
- Android init进程中鲜为人知的charger mode 模式
- codeforces 43E Race
- Leetcode-120. Triangle
- maven-war-plugin的版本2.6改成3.0后eclipse报异常
- 关于面向对象概念详述
- 从零开始学C++之继承(二):继承与构造函数、派生类到基类的转换
- java类对于public的一个误区