1. 程式人生 > >啟動weblogic時出現Weblogic:AdminServer.lok被鎖導致啟動、關閉域失敗的錯誤

啟動weblogic時出現Weblogic:AdminServer.lok被鎖導致啟動、關閉域失敗的錯誤

一、判斷AdminServer.lok被其程序鎖死

   由於Weblogic的域以單例形式存在,因此當執行startWeblogic.cmd或stopWeblogic.sh或直接在eclipse中啟動時出現上述資訊,則表示該域已被啟動或其他程序鎖定了AdminServer.lok檔案導致無法啟動該域。

   此時若執行stopWeblogic.cmd或stopWeblogic.sh時報異常,則表示AdminServer.lok檔案被其他程序鎖死了。

二、解決辦法

 解決辦法,就是殺死鎖定AdminServier.lok的程序。linux和windows下的操作有所不同,具體如下:

1. Linux下

 通過 fuser -u 檔名

 找出佔用檔案的程序PID,然後殺死即可。

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,而是直接強制殺死已啟動的域程序時,就會出現該情況

四、總結

本章是實踐經驗的記錄,解決方案和問題原因仍不全面,希望各位可以補充,多謝各位支援。

要有什麼意見可留言,謝謝。