2
をハング私はこの1つがハングオープニングパイプが
mkfifo my_fifo
exec 3<$my_fifo
を読み取るためのファイルディスクリプタを開きたいです。私は
exec 3<>$my_fifo
を行う一方
は、その後、それは動作します。どうして?
をハング私はこの1つがハングオープニングパイプが
mkfifo my_fifo
exec 3<$my_fifo
を読み取るためのファイルディスクリプタを開きたいです。私は
exec 3<>$my_fifo
を行う一方
は、その後、それは動作します。どうして?
読み取りのためにfifo(名前付きパイプ)をオープンすると、あるプロセスのFIFOが書き込み用にオープンするまでハングし、その逆もあります。だから開いているとき、あなたはパイプの "反対側"が開いていることを知っている。
Linuxでは、パイプを両方向で開くことができます。これを行うと、パイプの両端が開いているので、開いたままですぐに戻ります。これはPosixの拡張版であり、すべてのシステムで動作しません。
man 7 fifo
詳細情報があります。