執行 shutdown.bat 無法關閉 JBoss,改用 shutdown.bat -s 127.0.0.1 --exit=0 仍報錯,疑為端口修改導致連接失敗。
| 端口 | 默認值 | 配置文件路徑 (Windows, default 配置集) | 用途 |
|---|---|---|---|
| JNDI/RMI | 1098/1099 | \JBoss\server\default\conf\jboss-service.xml | 命名服務、遠程調用 |
| JMS UIL2 | 8093 | \JBoss\server\default\deploy\jms\uil2-service.xml | JMS 通訊 |
| Web 容器 | 8080 | \JBoss\server\default\deploy\jboss-web.deployer\server.xml | HTTP 請求 |
| AJP | 8009 | 同 server.xml | Apache 連接器 |
| 管理控制台 | 8083 | \JBoss\server\default\conf\jboss-service.xml | JMX Console/Web Console |
| 其他 | 4444/4445 | 同 jboss-service.xml | RMI 對象端口等 |
jboss-service.xml 發現 1099 已修改為 11099。shutdown.bat -s 127.0.0.1:11099 --exit=0
執行成功,JBoss 正常關閉。\JBoss\server\default\deploy\jmx-invoker-service.xml,切斷外部 JMX 調用入口,僅允許本地管理。當 JVM 崩潰或端口無響應時,關閉腳本無效。需強制殺進程:
taskkill /IM java.exe /F
taskkill /IM cmd.exe /F
最佳實踐: 生產環境建議將 JBoss 安裝為 Windows 服務 (使用 JavaService 或 JBoss Native),由服務管理器托管生命週期,避免殭屍進程。
jboss-service.xml 中 JNDI/RMI 端口 (1099) 實際值。-s 127.0.0.1:11099)。jmx-invoker-service.xml 禁用遠程關閉。taskkill 強制清理殘留進程應急方案。