- blogs:
- cles::blog
2009/03/17
bashで多重起動を防止する(その1)
cli
sh
シェルスクリプトで多重起動防止処理が必要になったのでちょっと書いてみました。
#!/bin/bash
BASENAME=`basename $0 .sh`
PID_FILE="$BASENAME.pid"
if [ -f $PID_FILE ]; then
STORED_PID=`cat $PID_FILE`
if (ps -p ${STORED_PID} -o pid= >/dev/null); then
echo "Locked by PID($STORED_PID)"
exit
fi
fi
echo $$ > $PID_FILE
# ここに処理を書く
sleep 10
rm $PID_FILE
判定部分がAtomicじゃないので厳密な意味で排他制御はできていないのですが、今回はそこまで厳密でなくても問題ないのでこれでよしとしました。
厳密にやるにはmkdirとか使ってやるほうがいいんでしょうけど。。。。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2968
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . svn でコミットしたらエラーが出たので(733)
2 . RT810 の DHCP サーバを WPAD に対応させる(620)
3 . アーロンチェアのポスチャーフィットを修理(604)
4 . 福岡銀がデマの投稿者への刑事告訴を検討中(577)
5 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(449)
2 . RT810 の DHCP サーバを WPAD に対応させる(620)
3 . アーロンチェアのポスチャーフィットを修理(604)
4 . 福岡銀がデマの投稿者への刑事告訴を検討中(577)
5 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(449)
cles::blogについて
Referrers