2

我需要找到已启动并正在运行的 weblogic 实例。
我的 unix 机器有 java 5 和 6,并且有多个 weblogic 域。
我需要杀死一个特定域的 java 实例。
这是 ps -ef | 的输出 grep java 命令,但无法确定哪个 PID 用于哪个域实例。
请帮忙。

 ps -ef | grep java
weblogic 16374 21956  0 23:30:33 ?        1:00 /app/bea/jdk1.6.0_33/bin/java -Xmx1024m -Xms256m -Dlog4j.configuration=file:///
    root 22733 22732  0   Apr 29 ?       123:29 ../jre/bin/java -da -server -Dtw.server=false -Djava.security.manager=com.tripw
weblogic 16862 21956  0 23:31:13 ?        2:04 /app/bea/jdk1.6.0_33/bin/java -Xmx1024m -Xms256m -Dlog4j.configuration=file:///
weblogic  8445 21956  0 18:32:33 ?        3:29 /app/bea/jdk1.6.0_33/jre/bin/java -Dweblogic.log.StdoutSeverity=Debug -Dweblogi
weblogic 16529 21956  0   May 29 ?       88:28 /app/bea/home/jdk150_15/bin/java -server -Xms1024m -Xmx1024m -XX:MaxPermSize=25
weblogic 15357  5681  0 00:07:14 pts/4    0:00 grep java
weblogic 14088 21956  0 23:28:00 ?        0:33 /app/bea/jdk1.6.0_33/bin/java -Dlog4j.configuration=file:///app/bea/weblogic12c
weblogic  2129 21956  0 23:13:41 ?       24:14 /app/bea/jdk1.6.0_33/bin/java -server -Xms2048m -Xmx2048m -XX:MaxPermSize=512m
4

6 回答 6

5

默认情况下,您的 ps 输出可能会被截断。

就像在solaris box上一样,ps输出将像上面一样被截断,在这种情况下你可以使用下面的命令

/usr/ucb/ps awwx|grep java|grep -i Admin -这将显示管理服务器

/usr/ucb/ps awwx|grep java|grep -i "Managed_server_Name" - 用于托管服务器

/usr/ucb/ps awwx|grep java|grep -i Node - 用于节点管理器进程

要通过域识别 pid,您可以使用类似的命令

/usr/ucb/ps awwx|grep java|grep -i "DOmain_name" |grep -i "Managed_server_name"

您可以使用管理控制台检查域名和托管服务器名称

于 2015-06-13T13:31:06.737 回答
1

在 ps 中查看 weblogic 进程及其weblogic 服务器名称的好方法:

ps -aef | grep javaee | grep Dweblogic.Name | sed -e 's/\-Dweblogic\.Name/WLPROC/g' -e 's/\-[^ ]*\s//g' -e 's/\/[^ ]*\s//g'

这是一个示例输出:

userX 10611 10608 5 05:34 pts 00:03:13 WLPROC=AnalyticProviderServices0 weblogic.Server userX 20918 20915 0 May26 pts 00:18:28 WLPROC=AdminServer weblogic.Server

于 2016-05-31T13:40:30.963 回答
0

改用jdk

ps -ef | grep jdk

结果将如下所示:

1005 8383 31663 2 Jun04 ? 00:27:49 /weblogic103/jdk160_05/jre/bin/java -Dweblogic.Name= AdminServer ...等

于 2013-06-05T07:26:56.557 回答
0

在 Unix中,在 'ps' 命令上使用 -efl 参数。然后根据需要使用 grep 的强大功能。

下面的命令将显示为所有域以及您的 weblogic 用户运行的 java 进程。

ps -efl | grep weblogic | grep java | grep Dweblogic.Name | grep -v grep
于 2015-06-05T14:52:16.740 回答
0

转到域主页,在
cd u01/app/oracle/wls1st/finance/servers/ServerName/tmp下

(ServerName 是您的实例名称,如果它的 AdminServer 给 AdminServer 然后转到 tmp 文件夹)

您可以在其中找到 lok 文件 AdminServer.lok ,它显示了 AdminServer 的运行进程 ID

fuser -f AdminServer.lok

您可以获得AdminServer的运行进程ID

然后杀死 -9 进程ID

于 2021-06-30T01:06:25.627 回答
-2

利用:

ps -ef | grep Middle

这将列出从目录中间件运行的进程:

oracle@solaris2:~$ ps -ef | grep Middle
oracle  4998  2728   0 21:32:37 ? 0:00 /bin/sh/u01/Oracle/Middleware/user_projects/domains/ETPortalDEV_domain/bin/sta
oracle  2267  1488   0 20:12:06 ? 0:00 /bin/sh/u01/Oracle/Middleware/user_projects/domains/sites_domain/bin/startWebL
root  1488     1   0 20:05:26 ?   0:00 su - oracle -c /u01/Oracle/Middleware/user_projects/domains/sites_domain/bin/st
oracle   480 29078   0 12:00:46 pts/2       0:00 grep Middle
于 2014-06-12T10:00:32.960 回答