我需要在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()
}
}
答案 0 :(得分:4)
可以使用Pipes
完成进程间通信。对于Windows,请参阅Interprocess Communications和/或Named Pipes。对于Linux,我建议阅读Inter process communication using named pipes(FIFO) in linux 。