今天主要学习了Linux的进程通信
进程通信可分为:管道通信、信号通信、共享内存和消息队列
管道通信:分无名管道和有名管道,无名管道一般用于父子进程之间
信号通信的产生方式:
1.按键产生
2.硬件异常产生(除数为0, 无效存储访问等)
3.进程用kill函数给另一个进程发信号
4.用户用kill命令给其他进程发信号
信号一共有64种
一般的信号处理分3种方式
1.忽略此信号(SIGKILL\SICSTOP时不会被忽略的)
2.执行用户希望的操作
3.执行系统默认的动作(终止进程)
信号发送有两种:kill和raise
//signo是命令 pid 是进程ID
int kill (pid_t pid, int signo)
int raise(int signo) //发送对象只能是自己