-n
私は長い間国旗の意味について混乱していましたflock(1)
。
基本的にこのツールのガイドはたくさんありますが、私たちがよく見るものは次のとおりですflock -n 100
。ここでは、fd番号100が特定のロックファイルに関連付けられてロックを実行するために使用されます。
いくつかの簡単なテストを実行すると、flock
すぐに失敗して終了するため、今日は混乱しました。
-n
フラグは正確に何をしますかflock
?-n 100
ファイル記述子番号100をロックされたファイルに関連付けるのは正しいですか?
答え1
私が誤解して危険な仮定をしたことに気づくには長い時間がかかりました。ファイル記述子番号を設定するフラグである-n 100
fd 100を指定するために呼び出すのがわかります。-n
しかし、実際にはそうではありません。
-n
非ブロックに使用されるこのフラグは、ロックが失敗するとすぐに失敗を引き起こします。からman flock
:
-n, --nb, --nonblock
すぐにロックを取得できない場合は、待たずに失敗してください。使用される終了ステータスについては、-Eオプションを参照してください。
普通の数字が与えられるとfdとして扱われるようです。これは明らかではありません。