亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 如何才能防止并發(fā)運行 [打印本頁]

作者: zhzhs007    時間: 2013-10-11 17:40
標題: 如何才能防止并發(fā)運行
因為同一個腳本處理同時運行的時候可能出問題,所以單個腳本運行的時候,再運行這個腳本的時候應(yīng)該退出。
我在腳本開始的位置簡單的做了處理,但好像達不到這個功能

counter=`ps -ef | grep "$0" | grep -v grep | wc -l`
if [ $counter -gt 0 ]
then
        exit
esle
     sh $0 $*
fi

請達人指點一下。謝謝
作者: 關(guān)陰月飛    時間: 2013-10-11 17:46
回復(fù) 1# zhzhs007

記錄一個PID文件,腳本退出時刪除.
腳本運行時,先檢查這個pid文件是否存在,存在的話先kill pid
   
作者: zhzhs007    時間: 2013-10-11 23:19
回復(fù) 2# 關(guān)陰月飛


    這個我考慮過,存在這樣一個問題,如果腳本沒有正確結(jié)束,那么pid文件還會存在,其他程序調(diào)用的時候就會誤以為還有程序在運行。
作者: Shell_HAT    時間: 2013-10-12 08:30
http://72891.cn/thread-3612103-1-1.html
http://72891.cn/thread-1800848-1-1.html
作者: zhzhs007    時間: 2013-10-13 18:11
看起來沒太好的解決哦
作者: liion631818    時間: 2013-10-13 18:43
回復(fù) 5# zhzhs007


    不知道這樣行不行,
進入腳本就去掉腳本的可執(zhí)行權(quán)限,退出前恢復(fù)
作者: damcool    時間: 2013-10-13 20:19
本帖最后由 damcool 于 2013-10-13 20:20 編輯

我的處理辦法是:
  1. kill -s 0 $(cat $PIDFILE 2>/dev/null) &>/dev/null && exit || echo $$ > $PIDFILE
復(fù)制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2