GNU/Linux >> Linux の 問題 >  >> Linux

Bashのファイルでアトミック書き込み操作を実行しますか?

bashのドキュメント、この質問、およびこの質問を確認した後、bash内のファイルにアトミック書き込み(追加)操作を実行する方法がまだわかりません。複数のインスタンスで実行されるスクリプトがあり、ある時点でファイルにデータを書き込む必要があります:

echo "$RESULT" >> `pwd`/$TEMP_DIR/$OUT_FILE

同時に実行されているすべてのスクリプトからそのファイルへのすべての書き込み操作をアトミックにする(あるインスタンスのデータが別のインスタンスのデータと重複しないようにする)にはどうすればよいですか?

承認された回答:

flockを使用する必要があるようです man(http://linux.die.net/man/1/flock)の例のように

(
flock -x 200

# Put here your commands that must do some writes atomically

) 200>/var/lock/mylockfile 

そして、アトミックでなければならないすべてのコマンドを()に入れます。


Linux
  1. バッシュ‘?

  2. MvはFsでアトミックですか?

  3. Bashを使用して整数をバイナリファイルに書き込む方法は?

  1. Bashでループを作成する方法

  2. Bash:そのようなファイルやディレクトリはありませんか?

  3. bashのファイルでアトミック書き込み操作を実行する

  1. Bashスクリプトをファイルに接続できますか?

  2. すべてのTmuxスクロールバックをファイルに書き込みますか?

  3. BashでCSVファイルを解析するには?