0

ファイルを開いてたくさんのものを書き込んでから閉じるpythonスクリプトがあります。ssh に接続して、この python ファイルを実行します。反対側には、同じマシンに接続された別の ssh ターミナルがあり、実行中のスクリプトによるファイルへの変更/書き込みを監視したいと考えています。ただし、 cat "file_name" などを実行すると、ファイルが空のように見えます。スクリプトが終了した後でのみ、内容が表示されます。

まず第一に、これはトランザクションの原子性プロパティに関連するものですか?

第二に、私のファイルを監視する方法はありますか?

4

1 に答える 1

0

ファイルの大きさは?

小さい場合 (小さいという漠然とした定義ですが、おそらく 4 KiB 未満)、Python スクリプトがメモリ内で行っている変更をバッファリングし、ファイルを閉じるときにのみディスクに書き込む可能性があります。

ファイルが大きい場合 (たとえば、64 KiB より大きい場合)、これは説明になりません。中間のサイズでは、それが説明になる可能性は比較的低いです。1 KiB 以下のような非常に小さいサイズでは、非常に妥当です。

ファイルの変更、またはメモリ マッピング ファイルをフラッシュする方法を探すことを検討してください。

于 2012-04-11T04:24:54.247 に答える