Linuxプロセス間通信

パイプライン

パイプラインは、ほとんどのLinux草IPC(プロセス間通信)によってサポートされている、それが名前付きパイプと名前なしパイプに分けることができます

名前のパイプ

1.パイプは、一方向のみの流れをサポートすることができ、半二重2つのプロセスは、二つのための通信チャネルを確立する必要があります

パイプによって作成2.名前パイプ()関数は、親子又は兄弟プロセスの間にのみ使用することができます

バッファの先頭からの読み取り時3.パイプにデータを書き込む処理は、パイプがバッファの最後に追加され、別のプロセスが読み取ります

名前付きパイプ

名前付きパイプは半二重であり、それはFIFO方式で、パス名、それに関連する方法を提供することで名前付きパイプのいずれか2つの間の通信を可能にするファイルシステム内に存在します

セマフォ

上述セマフォは、P / Vの動作を考える即ち(待機)とSinal()操作することができます。セマフォはカウンタであり、ロックするための機構として実装、複数のプロセス間で複数のスレッドまたはプロセス間で共有リソースへのアクセスを制御することができます。

信号

オペレーティング・システムはその信号を無視することで、別のメカニズムを用いてもよい、そのプロセスが中断され、または終了し、デフォルトの処理モードを使用して、異なるアプローチの異なる信号に基づいて、他のカスタムハンドラで、適切に実行することができますオペレーティング

メッセージキュー

1つ以上のプロセスがデータを書き込むことができ、リンクリストのメッセージキューの形、1回のまたは複数のデータ読み出し処理は、あります

共有メモリ

共有メモリは、メモリは、他のプロセスがアクセスすることができる期間がマッピングされます。メモリは、プロセスによって作成され、他のプロセスが、共有メモリに取り付けることができます。共有メモリは、最速のプロセス間通信の中ですが、同時実行制御をサポートしていません、それはプロセス間通信を実現するセマフォ機構が通常であります

ソケット

ソケット間の通信は、プロセスであるが、それ以外の違いは、異なるホスト間で通信できる方法です

おすすめ

転載: www.cnblogs.com/lgxblog/p/11570440.html