亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

防止shell腳本重復執行的代碼

2020-07-27 19:26:35
字體:
來源:轉載
供稿:網友

例如,要求腳本只能順序訪問某個資源,例如磁盤文件等,就可以參考下面的實現。

復制代碼 代碼如下:

#!/bin/bash
#
# file locking using bash.
# ver 0.1.6
#
# author : malundao ( malundao@sina.com )
# date   : 2011-08-31  
# ref    : http://unix.derkeiler.com/Newsgroups/comp.unix.shell/2005-09/0472.html
#
# note:
#   shflock_cleanhook() is a user defined function to clean up user-specific sth.
#
# /path/to/lock/. note; directory, not a file.
# should be modified
LOCKPATH="/tmp"
cleanup() {
        shflock_cleanhook
        cd $LOCKPATH
        [ -e lock.pid ] || exit
        read pid >/dev/null 2>&1 <lock.pid
        if [ -n "$pid" ]; then
            if [ "$pid" == "$$" ]; then
                rm -f lock.$pid
                rm -f lock.pid
                exit
            fi 
        fi 
        exit
}
#  trap EXIT ?
trap 'cleanup' HUP INT TERM
getlock() {
        oldpath=`pwd`
        cd $LOCKPATH
        while
                echo $$ > lock.$$
                [ -e lock.pid ]
        do
                rm lock.$$
                read pid >/dev/null 2>&1 <lock.pid
                if [ -n "$pid" ]; then
                        if [ -e /proc/$pid ]; then
                                cd $oldpath
                                return 1 # Lock is taken by others
                        else
                                #unsafe: rm -f lock.$pid
                                echo WARN: please delete stale lock.pid by HAND.
                                return 2
                        fi
                else
                        # sleep some seconds,then back to 'while' loop
                        # 11 is a prime number, $$ as a random. 
                        echo sleep $(( $$ % 11 ))
                        sleep $(( $$ % 11 ))
                fi
        done
        # 'ln -s' is an atom op.
        ln -s lock.$$ lock.pid >/dev/null 2>&1
        if [ $? -eq 0 ]; then
                cd $oldpath
                return 0 # We got the lock
        else
                [ -e lock.pid ] || echo WARN: please delete hanging lock.pid by HAND.
                cd $oldpath
                return 3 # Lock is probably taken by others.
        fi
}
putlock () {
    oldpath=`pwd`
    cd $LOCKPATH && rm -f lock.$$ lock.pid
    cd $oldpath
}
## test
shflock_cleanhook() {
    echo i/'m a hook.
}
while true; do
    while ! getlock; do
        #echo wait a second...
        sleep 1
    done
    echo /[$$/] `date` ,now hold lock for 3 seconds...
    sleep 3
    #echo putlock
    putlock
    sleep 1 # yield
done

防止腳本多次執行(一)
復制代碼 代碼如下:

while [ `ps x |grep -v grep|grep filename.sh|wc -l` -gt 0 ];
do
        exit
done

把內容放在腳本最上面

filename.sh 替換為你要監控的腳本名字
還有一種方法是 死循環 可以根據不同的環境,不同的腳本內容,使用的方法也同步,方法很簡單日后在寫出來

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清视频免费观看| 亚洲xxxx妇黄裸体| 国产日韩欧美视频在线| 国产91精品久久久久久| 国产精品专区h在线观看| 国模视频一区二区| 日韩精品在线免费播放| 2021国产精品视频| 欧美日韩亚洲一区二区三区| 精品国产91久久久| 久久国产视频网站| 国产精品久久久久久久久久久不卡| 亚洲欧美另类在线观看| 亚洲国产成人爱av在线播放| 97热在线精品视频在线观看| 欧美一级片在线播放| www.日韩欧美| 亚洲白虎美女被爆操| 日韩69视频在线观看| 国产午夜精品全部视频在线播放| 欧美理论电影网| 成人欧美一区二区三区在线| 欧美巨猛xxxx猛交黑人97人| 伊人久久久久久久久久久久久| 国产精品成人播放| 国产美女精品免费电影| 91精品国产一区| 欧美国产日本高清在线| 国产日韩中文在线| 国产精品欧美日韩| 久久精品一偷一偷国产| 久久久久久久成人| 成人妇女淫片aaaa视频| 日韩成人在线电影网| 欧美巨乳美女视频| 欧美日韩中文字幕| 欧美午夜女人视频在线| 日韩在线视频线视频免费网站| 欧美在线欧美在线| 久久人人爽人人爽爽久久| 欧美日韩午夜激情| 国产91久久婷婷一区二区| 欧美另类极品videosbest最新版本| 亚洲精品自拍第一页| 亚洲男子天堂网| 热久久这里只有精品| 国产精品日韩欧美综合| 色综合伊人色综合网站| 九九久久精品一区| 久久久久久午夜| 国产视频综合在线| 欧美成人午夜免费视在线看片| 亚洲免费成人av电影| 亚洲成人精品久久| 国产精品久久久久免费a∨大胸| 一区国产精品视频| 国产精品视频白浆免费视频| 精品香蕉一区二区三区| 日韩视频第一页| 热re91久久精品国99热蜜臀| 中文字幕亚洲专区| 亚洲成人激情视频| 久久亚洲精品一区二区| 日韩不卡中文字幕| 亚洲国产精品久久91精品| 国产福利视频一区二区| 日本午夜在线亚洲.国产| 久久久噜噜噜久噜久久| 国产亚洲精品综合一区91| 日韩精品视频在线免费观看| 大桥未久av一区二区三区| xvideos成人免费中文版| 91高清在线免费观看| 欧美成人精品一区| 69av在线视频| 夜夜嗨av色一区二区不卡| 日韩精品视频在线观看免费| 亚洲欧美变态国产另类| 欧美国产日韩xxxxx| 中文字幕精品久久久久| 久久精品国产亚洲| 亚洲精美色品网站| 色偷偷888欧美精品久久久| 国产suv精品一区二区三区88区| 国产亚洲美女精品久久久| 国产91精品黑色丝袜高跟鞋| 国产69精品99久久久久久宅男| 最好看的2019年中文视频| 亚洲一区二区久久久久久久| 成人中心免费视频| 奇米影视亚洲狠狠色| 国产精品一区二区三区在线播放| 国产精品免费电影| 欧美乱人伦中文字幕在线| 丝袜亚洲另类欧美重口| 欧美精品精品精品精品免费| 91精品视频观看| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲精品国产精品自产a区红杏吧| 成人黄色影片在线| 亚洲一级免费视频| 亚洲电影免费观看高清完整版在线观看| 精品国产31久久久久久| 91久久精品国产91久久性色| 热草久综合在线| 中文字幕国产亚洲2019| 91成人免费观看网站| 国产亚洲精品成人av久久ww| 亚洲a级在线观看| 国产精品一区二区久久久久| 8090理伦午夜在线电影| 国产香蕉精品视频一区二区三区| 久久精品国产99国产精品澳门| 久久久久久中文| 欧美成人手机在线| 精品人伦一区二区三区蜜桃网站| 色在人av网站天堂精品| 韩国福利视频一区| 黄色一区二区在线观看| 中文字幕亚洲欧美在线| 国产精品久久久久久久久久| 国产精品色悠悠| 亚洲国产成人久久综合一区| 亚洲国产精品久久精品怡红院| 亚洲欧美国产制服动漫| 亚洲视频999| 91视频国产一区| 97视频在线观看免费| 国产午夜精品久久久| 日韩视频―中文字幕| 欧洲一区二区视频| 亚洲激情视频在线观看| 欧美日韩在线观看视频| 亚洲精品美女久久| 日韩美女激情视频| 日韩女优在线播放| 日本国产欧美一区二区三区| 九九精品在线观看| 91视频免费网站| 欧美日韩国产综合视频在线观看中文| 精品久久久999| 久久综合九色九九| 中文字幕久久精品| 国产成人久久精品| 久久久人成影片一区二区三区| 色www亚洲国产张柏芝| 精品国产一区二区三区久久| 国产精品影片在线观看| 欧美日韩在线视频一区| 亚洲深夜福利网站| 欧美www视频在线观看| 国产在线日韩在线| 中文字幕精品在线视频| 国产精品成人av在线| 欧美国产精品va在线观看| 亚洲3p在线观看| 777777777亚洲妇女| 日韩在线小视频| www.欧美精品一二三区| 亚洲人成电影网站色xx| 日韩欧美中文在线| 日韩av一区在线| 亚洲色图av在线| 亚洲自拍偷拍网址|