使用消息将一个进程的数据发送到另一个进程(Linux)

时间:2012-10-27 00:33:48

标签: c process signals sleep wakeup

我需要在C中编写一个通过键盘获取用户名的进程。当他按下回车时,过程进入睡眠状态。然后我需要第二个进程在收到消息后唤醒,将用户的名字保存在文件中,然后进入休眠状态并向第一个程序发送信号,然后唤醒第一个程序。

我知道我应该使用信号和消息ID,但我不清楚如何处理进程之间的通信。

#include <signal.h>
#include <stdio.h>

void m.signal(int x)
{
    printf("A signal has arrived.");
}

int main()
{
    signal(100, m.signal);

    while(1)
    {
        pause()
    }
}

1 个答案:

答案 0 :(得分:4)

可以使用Pipes完成进程间通信。对于Windows,请参阅Interprocess Communications和/或Named Pipes。对于Linux,我建议阅读Inter process communication using named pipes(FIFO) in linux