首页 > 代码库 > linux编程---进程编程

linux编程---进程编程

进程通信(IPC)---信号处理

信号:通过命令kill –l 查看---信号可以由硬件产生,亦可以用软件产生

image

软件产生信号的函数:

kill函数,raise函数,alarm函数,setitimer函数

image

image

1:kill函数

功能:系统向进程发起信号;用的多是第一种情况

image

参数:pid进程号;sig信号

2:raise函数

功能:向本进程发起信号

参数:sig信号

3:alarm函数

功能:过一定时间后向本进程发送SIGALRM信号---缺省操作是结束进程

参数:seconds设置时间的单位是秒

 

信号操作函数:

sigemptyset函数,sigfillset函数,sigaddset函数,sigdelset函数,sigismember函数,sigprocmask函数,sigaction函数

pause函数,sigsuspend函数,sigsetjmp函数,siglongjmp函数

image

image

image

image

1:sigemptyset函数

功能:初始化信号集合,设置为空

参数:set信号集合

2:sigfillset函数

功能:初始化信号集合,屏蔽所有的信号,也就是所以信号的标识设为1了;

参数:set信号集合

3:sigaddset函数

功能:向信号集合添加信号

参数:set信号集合;signo为信号;

4:sigdelset函数

功能:删除信号集合中的信号;

参数:set信号集合,signo信号;

5:sigismember函数

功能:判断信号是否在其中

参数:set信号集合,signo信号

6:sigprocmask函数

功能:对信号集合做一些操作

参数:how标识做如何操作:

image

set信号集合;oset保存当前信号阻塞的信号集合

7:sigaction函数

功能:对消息,转移到自定义函数来处理

参数:signo信号(除去SIGKILL,SIGSTOP信号),act结构体是对此信号如何处理,oact是之前处理该信号的信息

结构体:sigaction

image

重点就是第一个:指向处理信号的函数。带一个参数signo的;第2,5参数和第一个参数功能一样;第4一般为0;第三个用于设置阻塞信号的集合。

8:pause函数,sigsuspend函数

进程挂起函数

9:sigsetjmp函数,siglongjmp函数

跳转函数---goto相似

 

 

进程通信(IPC)---管道

管道:沟通进程通信,利用文件;

image

参数fildes内有2个文件标识号,第一个用于表示来读端,第二个表示写端---共同文件2个文件标识号

重定向操作

image

将对新文件标示定向到老的文件标识号中,做到重定向的效果。

 

 

进程通信(IPC)---消息队列

linux编程---进程编程