device_memory 发表于 2012-09-25 08:48

很多种方法      

greatliu1990 发表于 2012-09-28 16:17

信号方式:

A程序:
bool recvflag;
void sig_handle(void)
{
   recvflag = true;
}

int main()
{
signal(SIGHUP,sig_handle);
while(1){
   if(recvfla)
      printf("hello\n");
}
   return 0;
}


B程序:
int main()
{
   ....
   dosomething;
   system("kill -SIGHUP `ps -ef|grep A|awk '{print $1}'`);
   .....   
return 0;
}

zafu10 发表于 2012-10-02 11:39

直接mkfifo 用fifo实现非常简单啊,lz可以google下

float001 发表于 2012-10-12 14:40

如果用信号 A进程需要阻塞在那里等待信号到来,就需要考虑阻塞的方式,个人倾向于用信号灯,让内核去处理阻塞状态。

_Stone 发表于 2012-10-20 22:35

TCP和UDP都可以

shenyanxxxy 发表于 2012-12-20 21:32

pthread 有broadcast 和wait的相关函数,一个线程等待某个条件发生, 当另一个线程broadcast的时候,那个等待的线程就会被激活,然后就可以执行你要执行的打印语句了。当然socket网络编程也能够实现。
页: 1 [2]
查看完整版本: 进程间怎么通信?