启动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 7001
taskkill /pid 查到的PID -t -f
|
三、出现该情况的原因
据我现阶段实践所知,导致上述问题的原因为。
1. 使用其他程序没有先调用stopWeblogic.cmd,而是直接强制杀死已启动的域进程时,就会出现该情况
四、总结
本章是实践经验的记录,解决方案和问题原因仍不全面,希望各位可以补充,多谢各位支持。
尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3972205.html 肥仔John
要有什么意见可留言,谢谢。