【发布时间】:2012-10-17 06:19:18
【问题描述】:
我需要用 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()
}
}
【问题讨论】:
-
您当然可以为此使用信号,但如果这两个进程是父/子进程,您可能会发现仅使用管道要容易得多,因为您将获得数据 xfer 通道作为免费赠品无需设置其他东西。
-
m.signal是什么意思?似乎是有效的 C 代码。
标签: c process signals sleep wakeup