2017-02-17 51 views
-1

我想知道,如何使用SIGUSR1和SIGUSR2將數據發送到另一個進程(從終端到另一個進程),但不使用sigqueue函數?我已經在網上到處搜索,但我沒有找到任何我的問題的答案。如何發送沒有sigqueue的數據?

謝謝。

+0

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

+0

僅使用信號和信號?你不能。信號實際上不應該是在進程間傳輸數據的一種方式。您需要找到一些其他方式來進行[進程間通信](https://en.wikipedia.org/wiki/Inter-process_communication)。 –

+0

@Someprogrammerdude這可能是一個學校作業,有同樣的問題。我們希望使用莫爾斯碼或類似的東西來告訴接收方什麼是數據。可能是那個? – NaeiKinDus

回答

0

對於一個非常簡單和基本的解決方案,您可以將數據寫入文件,然後將信號發送到進程。接收過程然後讀取文件的內容並刪除文件。

這當然會導致數據競爭,但實現起來非常簡單。

相關問題