したがって、3つのコマンドを使用してパイプラインを作成する必要があります。
- プログラムは次のように書かれています。氏無限ループでテキストを印刷 - コンパイル後に呼び出される
a.out
- それは次のようなことができます
xcalc
- 上記のように、たとえば次のようになります。
xclock
だから私の質問は、これら3つのパイプを作成し、コマンドを使用してlsof
オープンパイプに関する情報を取得するにはどうすればよいですか?
私は次のことを試しました:
mknod pipe1 p ./a.out | xclock | xcalc
しかし、正しく動作しません。必要な情報を取得するには
どのパラメータを使用する必要がありますか?lsof
(存在するソラリスこれはpfiles -F
)。
答え1
パイプと同様に、物理パイプには2つの開いた端(つまり、水が流れる側)が必要です。存在する、そして水が流れる側出る)、存在する*ニックスパイプには、入力を受け取るプログラムの入力が必要です/dev/stdin
(例:標準入力)、そして出力を/dev/stdout
、(例:標準出力)または(より一般的に)両方を実行します。これらのタスクを実行するように設計されたプログラムは、次のように動作します。プラグあるいは、パイプにプラグを差し込み(データ)の流れを妨げます。
OPで使用されている3つのプログラム(mknod
、xclock
および)はすべてxcalc
使用しないでください。標準入力または標準出力それほど重要だ。*ニックス等しいプラグ。それらを一緒に配管することは、3つのアイダホジャガイモを2つの長さのPVCパイプに接続するよりも有用ではありません。