久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      帶大家學(xué)習(xí)Linux crontab

      crontab

      使用 cron的時候,我們經(jīng)常會因為 某個命令運行時間太長,命令再次被啟動時,會出現(xiàn)多進程。
      可以使用flock, 如:

      */1 * * * * flock -xn /opt/app/nginx/test_repo/app/tasks/checkPaymentUrl.lock -c 'sudo -u apache php /opt/app/nginx/test_repo/app/console Payment checkPaymentUrl >> /dev/null 2>&1'

      當(dāng)多個進程可能會對同樣的數(shù)據(jù)執(zhí)行操作時,這些進程需要保證其它進程沒有也在操作,以免損壞數(shù)據(jù)。

      通常,這樣的進程會使用一個「鎖文件」,也就是建立一個文件來告訴別的進程自己在運行,如果檢測到那個文件存在則認為有操作同樣數(shù)據(jù)的進程在工作。這樣的問題是,進程不小心意外死亡了,沒有清理掉那個鎖文件,那么只能由用戶手動來清理了。
      參數(shù)

      -s,--shared:獲取一個共享鎖,在定向為某文件的FD上設(shè)置共享鎖而未釋放鎖的時間內(nèi),其他進程試圖在定向為此文件的FD上設(shè)置獨占鎖的請求失敗,而其他進程試圖在定向為此文件的FD上設(shè)置共享鎖的請求會成功。 -x,-e,--exclusive:獲取一個排它鎖,或者稱為寫入鎖,為默認項。 -u,--unlock:手動釋放鎖,一般情況不必須,當(dāng)FD關(guān)閉時,系統(tǒng)會自動解鎖,此參數(shù)用于腳本命令一部分需要異步執(zhí)行,一部分可以同步執(zhí)行的情況。 -n,--nb, --nonblock:非阻塞模式,當(dāng)獲取鎖失敗時,返回1而不是等待。 -w, --wait, --timeout seconds:設(shè)置阻塞超時,當(dāng)超過設(shè)置的秒數(shù)時,退出阻塞模式,返回1,并繼續(xù)執(zhí)行后面的語句。 -o, --close:表示當(dāng)執(zhí)行command前關(guān)閉設(shè)置鎖的FD,以使command的子進程不保持鎖。 -c, --command command:在shell中執(zhí)行其后的語句。

      實例
      crontab運用flock防止重復(fù)執(zhí)行

      0 23 * * * (flock -xn ./test.lock -c "sh /root/test.sh") #-n 為非阻塞模式

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號