啟動weblogic時出現Weblogic:AdminServer.lok被鎖導致啟動、關閉域失敗的錯誤
阿新 • • 發佈:2019-01-02
一、判斷AdminServer.lok被其程序鎖死
由於Weblogic的域以單例形式存在,因此當執行startWeblogic.cmd或stopWeblogic.sh或直接在eclipse中啟動時出現上述資訊,則表示該域已被啟動或其他程序鎖定了AdminServer.lok檔案導致無法啟動該域。
此時若執行stopWeblogic.cmd或stopWeblogic.sh時報異常,則表示AdminServer.lok檔案被其他程序鎖死了。
二、解決辦法
解決辦法,就是殺死鎖定AdminServier.lok的程序。linux和windows下的操作有所不同,具體如下:
1. Linux下
通過 fuser -u 檔名
fuser -u *******/AdminServer.lok *******/AdminServer.lok 1800958 kill 1800958
2. Window下
暫時未找到類似Linux下的 fuser -u 檔名 這麼好用的命令,於是只能走下面的步驟了。
2.1 netstat -aon | findstr 域埠號 ,通過域的埠號找程序PID,若找到則殺死程序即可,否則進行步驟2.2
2.2. 由於一般都是java.exe佔用AdminServer.lok,所以通過 wmic process where caption="java.exe" get handle 獲取PID,並殺死即可。
【Windows情況下,在進行操作時,我沒有看懂原作者的2.2,所以就運用了下面兩步走,殺死PID的程序,即正確。如下:】
netstat -aon | findstr 7001taskkill /pid 查到的PID -t -f |
三、出現該情況的原因
據我現階段實踐所知,導致上述問題的原因為。
1. 使用其他程式沒有先呼叫stopWeblogic.cmd,而是直接強制殺死已啟動的域程序時,就會出現該情況
四、總結
本章是實踐經驗的記錄,解決方案和問題原因仍不全面,希望各位可以補充,多謝各位支援。
要有什麼意見可留言,謝謝。