ファイルが閉じられている場合のみ読み取り

ファイルが閉じられている場合のみ読み取り

ファイルが使用中でない場合、または他のプログラムで作成された場合にのみファイルを読み取るには、シェルスクリプトを作成する必要がある問題に直面しています。 lsof は使用できません。これは、スクリプトが非常に基本的なシェル機能を使用してQNXを実行する組み込みハードウェアで実行されるため、サードパーティのツールとライブラリがないためです。

ベストアンサー1

今答えを見つけたと思います。スクリプトの一部として作成します。

#!/bin/bash
# Script to prevent writing to a certain file.  
# This should be adjusted to your needs, replace all /paths/ and <xxxxxxx> 
# with your true paths and filenames.  
chmod +r /path_to_file/<filename>
<now_do_what_you_want_with_that_file, command(s) here>
for a in {120..1}; do echo -n "$a..." && sleep 1; done    # In 120 seconds <filename> will be writable.
chmod -r /path_to_file/<filename>

ファイルを別の場所にコピーするスクリプトを作成し、開封しても使用しなかったコピーをお読みください。、完了後X秒後に削除してください。

必要に応じてこの操作を繰り返すことができます。

おすすめ記事