Как говорит @josek, у вас будет одна JVM для каждого сервера WebLogic, поэтому, если все ваши EAR находятся под одним и тем же сервером WebLogic, у вас будет только один pid для выгрузки. Но у вас все еще может быть несколько серверов - может быть, сервер администратора и управляемый сервер, возможно, другие несвязанные экземпляры - поэтому, если вы просто сделаете что-то вроде ps -ef | grep java
(я предполагаю, что это на Unix?), Вы можете увидеть много pids , даже если вы можете отфильтровать его в JDK_HOME вашего WebLogic.
Один из способов определить, какой pid принадлежит конкретному серверу, - перейти в каталог <domains>/servers/<your server>/tmp
и запустить там fuser -f <your server>.lok
. Это перечислит pids всех процессов, связанных с этим сервером, одним из которых будет Java-процесс JVM. (Может быть, другие для JDBC и т. Д.) Один из способов найти только процесс Java (и я уверен, что кто-то укажет другой, лучший способ!) Это что-то вроде:
cd <domains>/servers/<your server>/tmp
ps -p "`fuser -f <your server>.lok 2>/dev/null`" | grep java
Если каждый EAR находится на своем собственном сервере, я думаю, вам нужно посмотреть config.xml, чтобы узнать, что вам нужно.