2017-02-17 50 views
-1

我想知道,如何使用SIGUSR1和SIGUSR2将数据发送到另一个进程(从终端到另一个进程),但不使用sigqueue函数?我已经在网上到处搜索,但我没有找到任何我的问题的答案。如何发送没有sigqueue的数据?

谢谢。

+0

IPC有很多种方法;管道,msgsnd,套接字,共享内存等。 – Ctx

+0

仅使用信号和信号?你不能。信号实际上不应该是在进程间传输数据的一种方式。您需要找到一些其他方式来进行[进程间通信](https://en.wikipedia.org/wiki/Inter-process_communication)。 –

+0

@Someprogrammerdude这可能是一个学校作业,有同样的问题。我们希望使用莫尔斯码或类似的东西来告诉接收方什么是数据。可能是那个? – NaeiKinDus

回答

0

对于一个非常简单和基本的解决方案,您可以将数据写入文件,然后将信号发送到进程。接收过程然后读取文件的内容并删除文件。

这当然会导致数据竞争,但实现起来非常简单。

相关问题