[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 01/12 09:15 / Filesize : 284 KB / Number-of Response : 907
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合 その29



534 名前:デフォルトの名無しさん mailto:sage [2018/11/07(水) 13:40:10.94 ID:UCphLCxy0.net]
>>524

> で ロックファイルアルゴリズムの問題点は非常に素早く二つのプロセスを立ち上げた時に
> 最初に起動したプロセスがロックファイルを生成し終える前に
> 二番目のプロセスがロックファイルが存在しないのを理由に立ち上がってしまう
> (結果として二重起動する)
正しくない

正しいロックファイルアルゴリズムであれば、素早く二つのプロセスを立ち上げても問題ない
あんたが書いたそれはは典型的な間違ったロックファイルアルゴリズム(そして>>497も同様)

アルゴリズム自体の問題なのでシェルスクリプトかどうかは関係ない



直接的な解答ではなくて関連した話題になるが、多重起動防止以外でも重要だから読んどけ
https://www.ibm.com/developerworks/jp/linux/library/l-sprace/index.html
> 単純な解決方法は、open()をフラグO_WRONLY | O_CREAT | O_EXCLで使うことです
https://www.ipa.go.jp/security/fy20/reports/tech1-tg/2_05.html
> これを避けるためには先に述べたとおり、テンポラリファイルを生成するときに O_EXCL を指定すればよい。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef