标签:linux编程 信号通讯编程 发送信号 处理信号 linux进程间通信
/* bprocess.c */
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
void myfunc(int a)
{
printf("process B received SIGINT\n");
}
void main()
{
signal(SIGINT,myfunc);
pause();
}
# gcc bprocess.c -o bprocess
# ./bprocess
此时这个进程处于等待信号的状态
另开一个终端
# ps aux 查看bprocess的ID为11227
# kill -n SIGINT 11227
发送后bprocess进程就会打印出process B received SIGINT
/* aprocess.c */
#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
void main(int argc, char *argv[])
{
pid_t pid;
pid = atoi(argv[1]);
kill(pid,SIGINT);
}
# ./bprocess 此时处于等待信号
另开一终端
# gcc aprocess.c -o aprocess
# ps aux查看B进程的ID为11430
# ./aprocess 11430
此时bprocess进程就会打印出process B received SIGINT
标签:linux编程 信号通讯编程 发送信号 处理信号 linux进程间通信
原文地址:http://blog.csdn.net/zhuwenfeng215/article/details/45226965