linux c++ 进程间信号的发送与接收
来源:互联网 发布:淘宝儿童女模特名字 编辑:程序博客网 时间:2024/05/16 15:54
信号不仅可以用于事件的异步处理,同时也可以用作数据传输,一者用于接收数据的进程需要安装信号处理函数,专门用于接收信号,二者用于给指定的进程发送信号
发送信号的进程是:
/* * main.cpp * * Created on: Jul 15, 2014 * Author: john */#include<signal.h>#include<stdlib.h>#include<iostream>#include<string.h>using namespace std;int main(int argc ,char** argv){ union sigval value; int signum=SIGTERM; pid_t pid=0; //initializeing value.sival_int=0; //check the param if(argc!=3&&argc!=5&&argc!=7) { cout<<"param error"<<endl; exit(1); } for(int i=0;i<argc;i++) { if(!strcmp(argv[i],"-d")) { value.sival_int=atoi(argv[i+1]); continue; } if(!strcmp(argv[i],"-s")) { signum=atoi(argv[i+1]); continue; } if(!strcmp(argv[i],"-p")) { pid=atoi(argv[i+1]); continue; } } //use the function "sigqueue" send the signal if(sigqueue(pid,signum,value)<0) { cout<<"error\n"; } else { cout<<"successfully"; } }
接收信号进程是:
/* * main.cpp * * Created on: Jul 15, 2014 * Author: john */#include<signal.h>#include<iostream>#include<unistd.h>using namespace std;void handler_sig(int signo,siginfo_t*siginfo,void*pvoid){ cout<<"recv signale: "<<siginfo->si_signo<<endl;}int main(){ struct sigaction act; act.sa_sigaction=handler_sig; act.sa_flags=SA_SIGINFO; //install signal process cout<<getpid()<<endl; sigaction(SIGINT,&act,NULL); while(1); return 0;}
0 0
- linux c++ 进程间信号的发送与接收
- Linux信号机制之信号的发送及接收
- linux进程间的通信(C):信号
- linux进程间的通信(C):信号
- Linux C 进程间的信号通信
- Linux中线程同步信号发送与接收总结
- Linux C编程--进程间通信(IPC)3--信号集和发送信号介绍
- Linux C编程--进程间通信(IPC)3--信号集和发送信号介绍
- Linux C编程--进程间通信(IPC)3--信号集和发送信号介绍
- 信号的发送与捕捉(进程间通信)
- Linux之进程间发送信号
- LINUX C 的TCP发送接收测试
- 父进程与子进程间相互发送信号
- Qml中信号的发送与接收信号槽函数的使用
- linux 练习六 信号的发送与信号处理
- Linux 进程与信号
- 进程间通信--信号发送
- Linux信号列表与发送信号
- 如何让浏览器正确识别网页编码
- 变焦与对焦(转自csdn)
- SurfaceView概述
- Linux中断机制(二)
- Spring Data JPA 全局DAO的扩展(第一次用JPA时总是提示 另人抓狂的错误: No property find for type class )
- linux c++ 进程间信号的发送与接收
- python学习之路
- 【Python】一个简单的python socket编程
- 2014 CSDN博文大赛最终获奖名单公布
- linux内存管理
- UVa10985 Rings'n'Ropes
- 如何将access mdb数据库导入到mysql中 .mdb转mysql
- OC笔记心得存档---深浅复制
- HDU - 1845 Jimmy’s Assignment (二分匹配)