プロセス間通信
各プロセスがデータを共有しもしくはお互いの処理のタイミングを同期させる。OSはプロセス間通信の機能を提供する
SIGUSR1, SIGUSR2 のようにプログラマが用途を決められるシグナルがある
このシグナルを送り合って処理を進めるということが可能
ただしシグナルを送るだけでデータを送り合うことはできないので別の仕組みが必要
豆知識:dd コマンドに SIGUSR1 シグナルを受け取ると進捗状況を表示する
パイプ
bash などのシェルにおいて使われる場面が多い
e.g. free | awk '(NR==2){print $2}'
双方向通信やファイルを介してプロセスをつなぐこともできる
Linuxは複数プロセスをソケットでつないで通信することが可能
UNIXドメインソケット:1つのマシン上のプロセスのみ通信させる
TCPソケット、UDPソケット:インターネットプロトコル、TCP/IPと呼ばれるプロトコルで複数プロセスを通信させる