シェルスクリプトで正しい二重起動チェックを解説しているページ、もしくは方法を教えてください。
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
No.1
70pt
これが同一の質問内容でしょう。
・シェルスクリプトから排他制御するための不可分(atomic)な test and set 命令を、ありふれたコマンドから手軽に得たい場合、mkdir(1) や ln(1) -s
・もともとlockfileを作っておいて、排他処理の先頭でmv lockfile lockfile.locked などとする
No.2
70pt
(sleep 6 のところに処理を書いて)
#!/bin/sh
sem=”/tmp/`basename $0`”
ln -s /dummy $sem || exit
trap ”rm $sem; exit” 2 3 15
sleep 6
rm ”$sem”
exit
-
http://q.hatena.ne.jp/1134826784 mimic28号でした。
-
http://q.hatena.ne.jp/1134826784 mimic28号でした。
-
シェルスクリプトの多重起動を防ぎたい! これでいいかな? すでに他のプロセスで起動していたら何もせずに終了する。 >|sh|> if [ $$ != `pgrep -fo $0` ]; then echo I should be dead. exit 1 fi 参考
-
CakePHPをコマンドラインから簡単に起動&多重起動を禁止するシェルスクリプトを作成してみました。 このシェルスクリプトの利点 今回のシェルスクリプトを利用すると、CakePHPのコマンド
-
http://q.hatena.ne.jp/1134826784 http://q.hatena.ne.jp/1134826784 http://matsu.tymy.net/blog/2008/03/04/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E6%8E%92%E4%BB%96%E5%87%A6%E7%90%86/
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。
これ以上回答リクエストを送信することはできません。制限について
申し訳ありません。
同様の質問があることに書いた後で気づきました。
やはり、lockfileを使うのが確実そうですね。