2017-02-17 11 views
-1

私は、SIGUSR1とSIGUSR2を使って別のプロセス(ターミナルから別のプロセス)にデータを送ることはできますが、sigqueue関数を使用しないとどうしたらいいですか?私はすでにネット上のどこでも検索しましたが、私の質問に対する答えは見つかりませんでした。sigqueueなしでデータを送信するには?

ありがとうございました。

+0

IPCにはさまざまな方法があります。パイプ、msgsnd、ソケット、共有メモリなど – Ctx

+0

シグナルとシグナルのみを使用していますか?できません。シグナルは実際にはプロセス間でデータを転送する方法ではないと考えられています。 [プロセス間通信](https://en.wikipedia.org/wiki/Interprocess_communication)を行う他の方法を見つける必要があります。 –

+0

@Someprogrammerdudeこれは学校の割り当てかもしれない、同じ種類の質問があった。私たちは、モールスコードなどを使って受信側にどのようなデータが表示されたかを伝えるためにこれを行うことが期待されていました。それかもしれない? – NaeiKinDus

答えて

0

非常に簡単で基本的な解決策として、データをファイルに書き込んだ後、プロセスに信号を送信することができます。受信プロセスは、ファイルの内容を読み取り、ファイルを削除します。

これはもちろん、データ競争につながる可能性がありますが、実装は非常に簡単です。

関連する問題