- 論壇徽章:
- 33
|
本帖最后由 q1208c 于 2014-07-10 16:43 編輯
樓主的問(wèn)題是典型的單進(jìn)程shell.
如果為了安全, 可以試試下面的做法.
1. pidfile, 在腳本運(yùn)行時(shí)生成, 結(jié)束時(shí)刪除. 如果有pidfile, 說(shuō)明腳本可能在執(zhí)行. "可能", 是因?yàn)槿绻_本是被kill, 或異常退出的, pidfile 可能沒(méi)有正確刪除.
2. 如果pidfile存在, 讀取 pid, 判斷該pid是否存在, 如果 pid 不存在, 說(shuō)明進(jìn)程已經(jīng)結(jié)束(可能正常, 也可能是被kill).
3. 如果pid存在, 讀取 /proc/<pid>/cmd, 判斷是否是同一個(gè)腳本, 因?yàn)閜id可能會(huì)重復(fù)的.
我以前還用了 lockfile, 剛才想想, 覺(jué)得 pidfile 應(yīng)該可以代替lockfile了.
----
看了上面兄弟的回復(fù), 忽然想到,我為啥要用兩個(gè)文件了, 一個(gè) pidfile, 一個(gè) lockfile, 是為了防止文件被誤刪除. |
|