質問: 「パイプ」とは何ですか?どのように「壊す」ことができますか? xcodeから「パイプの破損」エラーが何度も発生しました。私は今、パイプが何であるかを正確に知りたいと思っています。「パイプ」の概念とは何ですか、そしてそれをどのように「壊す」ことができますか?
回答: パイプは、あるプロセスの標準出力を別のプロセスの標準入力に接続するために使用されるプロセス間通信(ipc)メカニズムにすぎません。例として、ファイルで「pax」という単語を検索する場合があります。cat filename | grep pax はい、ファイルを直接grepできることは知っていますが、それがどのように機能するかを説明していませんね。これにより、catコマンドの標準出力がgrepコマンドの標準入力に接続されます。 catはファイルの内容を標準出力に送信し、grepはそのファイル(この場合)を標準入力から読み取ります。このようにプロセスを接続することで、任意の数のパイプセグメントで構成される独自のツールを作成できます。のようなもの:show_users | grep pax | awk -f: '{print $4}' | tr '[a-z]' '[a-z]' | cut -c1-20 brokenパイプは、(通常)送信者がまだデータを送信しようとしているときに、データの受信者が接続を閉じたパイプです。たとえば、大きなファイルをポケットベルプログラムを介して送信する場合(一度に1ページずつ表示するため):cat myfile | pager その後、 ctrl-break、これにより、pagerが使用を終了する前に、catプロセスが入力パイプをシャットダウンする可能性があります。これは、この壊れたパイプを取得するための1つの可能性です。大まかな google検索 から、この特定の問題はアドホック展開に関連しているようであり、与えられた解決策には通常、ほとんどのソフトウェアを終了し、ほとんどのデバイスを再起動することが含まれます。これはおそらく、問題をappleに報告するのに十分深刻です。それについて不平を言う開発者が多ければ多いほど、それを修正するために何かが行われる可能性が高くなります。