問題多因為前一次的程式執行時,發生『不正常』停止執行的情況。因此,程式正常停止時應會刪除掉的該『特定檔案』,並未如期被刪除掉。而導致在『正常』情況開啟的第一個程式也會檢查到該檔案,而立即停止執行。
一、檢查是否為檔案鎖定
「使用者」要檢查是否因此造成程式不能啟動,以 aMule 為例,可以用這個命令查詢:上例中,藍色的 Incoming 和 Temp 是目錄,紅色的 muleLock 是為防止同時執行兩個 aMule 用的。當第一個 aMule 被啟動執行後,即建立 muleLock 這個檔案,當使用者未注意而啟動第二的 aMule 時,程式發現 muleLock 已被建立,即停止重覆啟動。
[SiB@Celeron-D ~]$ ls .aMule/ amule.conf GeoIP.dat lastversion server.met canceled.met Incoming load_index.dat server_met.old clients.met ipfilter.dat logfile shareddir.dat cryptkey.dat ipfilter_static.dat muleLock src_index.dat ED2KLinks key_index.dat nodes.dat statistics.dat ED2KLinks_lock known2_64.met preferences.dat Temp emfriends.met known.met preferencesKad.dat
註:紅色是為方便說明而標上去,查詢命令操作時仍為黑色。
二、解決因檔案鎖定,而不能開啟的問題
確認是檔案鎖定造成的問題,解鎖的方法也很簡單。就是將這個在程式停止執行前,應『正常』刪除的『特定檔案』刪除即可。[SiB@Celeron-D ~]$ rm -f .aMule/muleLock註:其它程式鎖定用的檔案,檔名中多有 Lock 這個字,檔案日期約為上次程式啟動的時間。
已測試版本:
- Fedora: 14, 17, 19
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)