
あるセッションでは、次のようにファイルにいくつかのテキストを追加します。
while true;do echo some_text >> file1 ; done
同じディレクトリ内の他のセッションで次を実行します。
lsof file1
出力は返されません。理由をご存知ですか? lsofがファイルを書き込むプロセスを報告してはいけませんか? RHEL 7.2を使用しています。
答え1
それは単に「不運」です(または必要に応じて非常に狭い期間)。pv
ファイルを長時間開いたままにするには、書き込みを制限してプロセスを遅くすることができます。
echo "0000000000000000000000000000000000000000000000000000000000" | pv -L 2 >> opened.dat
他の端末から:
lsof opened.dat
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pv 30636 me 1w REG 253,1 60 24642407 opened.dat