シェルスクリプトで正しい二重起動チェックを解説しているページ、もしくは方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/17 22:39:44
  • 終了:--

回答(2件)

id:shampoohat No.1

shampoohat回答回数347ベストアンサー獲得回数02005/12/18 00:55:05

ポイント70pt

http://www.hatena.ne.jp/1133330766

人力検索はてな - シェルスクリプト(/bin/sh)で排他処理をしたいです。 良い方法はありませんか?

これが同一の質問内容でしょう。


・シェルスクリプトから排他制御するための不可分(atomic)な test and set 命令を、ありふれたコマンドから手軽に得たい場合、mkdir(1) や ln(1) -s

・もともとlockfileを作っておいて、排他処理の先頭でmv lockfile lockfile.locked などとする

id:misoni

申し訳ありません。

同様の質問があることに書いた後で気づきました。

やはり、lockfileを使うのが確実そうですね。

2005/12/18 21:43:59
id:masshie No.2

masshie回答回数57ベストアンサー獲得回数12005/12/18 14:18:34

ポイント70pt

http://d.hatena.ne.jp/

はてなダイアリー - キーワードでつながる多機能ブログ

(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

id:misoni

このやり方は、始めて見ました。

自分自身のシンボリックリンクをlockファイルのように扱っている?と解釈しましたがあってるのかな。

解説があるとうれしかったです。

2005/12/19 23:40:41

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません