进程间通信:信号机制
来源:互联网 发布:淘宝神笔详情页关联 编辑:程序博客网 时间:2024/03/28 22:40
最近工作中,有需要用到一个进程向另一个进程发信号.于是,写了一简单的例子:
一. 信号接受方
#include <stdio.h>
#include <signal.h>
static void sigaction_handle(int signum, siginfo_t * info, void * p)
{
printf("received signal/n");
printf("the int value is %d/n", info->si_int);
}
int main()
{
struct sigaction sa;
sigemptyset(&sa.sa_mask);
sa.sa_flags = SA_RESTART | SA_SIGINFO;
sa.sa_sigaction = sigaction_handle; //信号处理例程
sigaddset(&sa.sa_mask, SIGUSR2);
sigaction(SIGUSR2, &sa, NULL); //SIGUSR2 用户自定义的信号类型
printf("waiting for signal/n");
while(1)
{
sleep(2);
}
return 0;
}
二. 信号发送方
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
int main()
{
FILE * fp = NULL;
char buf[32];
pid_t pid;
sigval_t mysigval;
system("pidof 接受信号的进程> pid");
fp = fopen("pid", "r");
if(fp == NULL)
{
printf("fopen error/n");
return -1;
}
fgets(buf, sizeof(buf), fp);
pid = (pid_t)atoi(buf);
printf("pid:%d/n", pid);
mysigval.sival_int = 8;
if(sigqueue(pid, SIGUSR2, mysigval) == -1) //给指定进程发送信号
{
printf("send signal error/n");
}
fclose(fp);
return 0;
}
- 进程间通信:信号机制
- 进程间通信-信号机制
- Linux进程间通信 - 信号(signal)机制
- linux进程通信-信号机制
- 进程间通信-信号
- 进程间通信--信号
- 进程间通信--信号
- 进程间通信-信号
- 进程间通信---信号
- 【进程间通信】信号
- 进程间通信----信号
- 【进程间通信】信号
- 信号通信(进程间通信)
- Linux环境进程间通信之信号机制(一)
- Linux环境进程间通信之信号机制(二)
- Linux 下进程间通信机制(三) 信号Signal
- linux进程间的通信机制——信号
- linux进程间通信、异步信号处理机制
- 【原创】可以在两个select之间相互跳转的选框,适合做权限管理用
- c++中虚函数的简单应用
- 浏览器使用心得
- MTK介绍&MTK平台介绍
- JDBC基础学习
- 进程间通信:信号机制
- 戚家军的最后一战:萨尔浒埋葬明帝国最后的精锐
- mysql中的正则表达式搜索
- 偷懒秘笈之自动生成属性
- Installation of VSS6.0
- MTK平台驱动基本介绍
- 11.6线程----BlockingQueue
- 教您怎么样握好球杆
- MTK平台退出Screen的回调函数