Glassfish正在后台运行

时间:2015-07-28 09:20:01

标签: java java-ee tcp glassfish application-server

Glassfish服务器在后台运行,我无法停止,启动或重新启动该过程。我知道,重新启动系统将完成这项工作。还有其他程序可以阻止这个过程吗?

以下是详细信息:

  1. 当我尝试停止时,它表示域1未运行:

      

    C:\ Server \ glassfish4 \ glassfish \ bin> asadmin stop-domain
      CLI306:警告 - 位于C:\ Server \ glassfish4 \ glassfish \ domains \ domain1的服务器未运行。
      命令stop-domain成功执行。

  2. 但是,我可以在网络浏览器中为http://localhost:4848/common/index.jsf

  3. 打开管理控制台
  4. 当我尝试启动或重启时,会抛出错误:

      

    C:\ Server \ glassfish4 \ glassfish \ bin> asadmin start-domain有一个   已经使用管理端口4848的进程 - 它可能是另一个   GlassFish服务器的实例。命令start-domain failed。

         

    C:\ Server \ glassfish4 \ glassfish \ bin> asadmin restart-domain Server是   没有运行,将尝试启动它...已经有一个过程   使用管理端口4848 - 它可能是另一个实例   GlassFish服务器。命令restart-domain failed。

  5. 我尝试使用netstat -a -n -o命令为端口4848找到PID。我有两个条目,但不是localhost id:

    TCP    0.0.0.0:4848           0.0.0.0:0              LISTENING       9116 
    TCP    [::]:4848              [::]:0                 LISTENING       9116
    

2 个答案:

答案 0 :(得分:6)

试试这个

taskkill /F /PID 9116

还可以找到保存port 8080并杀死它们的进程的PID。 (如果以上解决方案不起作用)

netstat -aon | find "LISTENING" | find ":8080"
taskkill /F /PID process_id_here

答案 1 :(得分:3)

如果您使用的是Mac OS,则应打开终端并写下以下内容:

jps

(jps - 帮助您查看GlassFish此过程的PID的命令) 在我的情况下,我有以下信息:

MBP-Dmytro:~ melnychukdv$ jps
4004 ASMain
4500 Jps

之后我们就杀了这个PID(在我的例子中是4004):

sudo kill -4004 {PID}

sudo kill 4004 {PID}

这就是全部。