精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長(zhǎng)網(wǎng)

17站長(zhǎng)網(wǎng) 首頁 腳本 linux shell 查看內(nèi)容

防止shell腳本重復(fù)執(zhí)行的代碼

2022-12-8 15:45| 查看: 2720 |來源: 互聯(lián)網(wǎng)

例如,要求腳本只能順序訪問某個(gè)資源,例如磁盤文件等,就可以參考下面的實(shí)現(xiàn)。#!/bin/bash## file locking using bash.# ver 0.1.6## author : malundao ( malundao@sina.com )# date   : 2011-08-31&nbs

例如,要求腳本只能順序訪問某個(gè)資源,例如磁盤文件等,就可以參考下面的實(shí)現(xiàn)。

#!/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         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                 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

防止腳本多次執(zhí)行(一)

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

把內(nèi)容放在腳本最上面

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

本文最后更新于 2022-12-8 15:45,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長(zhǎng):17tui@17tui.com
·END·
站長(zhǎng)網(wǎng)微信號(hào):w17tui,關(guān)注站長(zhǎng)、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營(yíng)銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長(zhǎng)網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 日本最新伦中文字幕 | 一区二区视频在线播放 | 91国内精品久久久久怡红院 | 国产一区二区久久精品 | 欧美三级在线观看黄 | 嘛豆传媒的短视频动漫 | 欧美福利一区二区三区 | 亚洲精品视频免费观看 | 亚洲一区在线视频观看 | 91精品福利久久久 | 日韩一区国产二区欧美三 | 欧美aaa级片| 天堂精品| 在线观看免费视频网站色 | 多女多p多杂交视频在线观看 | 亚洲精品视频网 | 免费午夜不卡毛片 | 国产一级精品高清一级毛片 | 久久国产精品久久国产片 | 91尤物国产尤物福利 | 加勒比一本大道香蕉在线视频 | 亚洲精品一区二区中文 | 亚洲一级黄色毛片 | 在线二区人妖系列 | 51毛片 | 在线成人福利视频 | 分享一个无毒不卡免费国产 | 黄色一级片观看 | 国产成人自产拍免费视频 | 最新露脸国产精品视频 | 2022av视频 | 国产片性视频免费播放 | 欧美日韩性生活 | 国产精品视频一区二区噜噜 | 欧美一级a俄罗斯毛片 | 8x成人在线 | 国产一区二区三区在线免费观看 | 美女福利视频一区 | 国产黄色影院 | 欧美在线观看黄色 | 国产成人综合亚洲欧美在线n |