一、进程间的通信
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)