【问题标题】:Stop weblogic server forcefully using command line使用命令行强制停止 weblogic 服务器
【发布时间】:2014-11-11 07:41:39
【问题描述】:

我想使用命令行强制关闭 weblogic 服务器。我有一个特定的场景。我编写了一个批处理文件来做一些事情,然后使用stopWebLogic.cmd 关闭 weblogic 服务器,如下所示:

"%WEBLOGIC_DOMAIN_PATH%\bin\stopWebLogic.cmd"

我已经浏览了this 文档。但我不能采用这种方法,因为我不想更改stopWebLogic.cmd。有什么方法可以实现吗?

【问题讨论】:

    标签: weblogic weblogic12c


    【解决方案1】:

    WLST 脚本可能是要走的路。请参阅shutdown 命令,该命令具有可选的“强制”参数。

    注意在 UNIX/Linux 上,您可以将 SIGTERM 信号发送到将执行强制关闭的 weblogic 服务器的 pid。即 kill -term pid

    【讨论】:

    • stopWebLogic.cmd 依次调用:echo shutdown^('%SERVER_NAME%','Server', ignoreSessions='true'^) >>"shutdown.py"。我可以在这里添加一个力参数,它会起作用。但我不想继续每个 weblogic 设置并修改stopWebLogic.cmd。我必须调用这个 cmd 文件,因为它除了调用关闭命令之外还有很多其他的功能。
    • 嗯,你的 stopWebLogic.cmd 还有什么作用?我必须使用的唯一 12c 域是一个 SOA 套件,它唯一要做的额外事情是在使用 Derby 数据库时关闭它。我能想到的唯一方法是从批处理文件中调用自定义关闭 wlst 脚本。由于命令是在线的,因此不必在与您的域相同的服务器上运行,尽管如果这样做,您不需要在 connect() 调用中提供凭据。相反,您指定 adminServerName 并改用 boot.properties。这就是 stopWeblogic.cmd 脚本的作用。
    • WLST 是您在杀死或修改 stopWebLogic 之外的最佳选择。也许你可以澄清这个问题,但你将不得不编写/修改一些东西来做到这一点
    • @JeremyGosling 是的,stopWebLogic.cmd 所做的额外事情是关闭 derby 数据库。也许我可以编写一个 WSLT 脚本来实现这一点。唯一的事情是我将来需要维护这个脚本(以防关闭逻辑在未来的版本中发生变化)。感谢您的帮助。
    • @castling 我唯一担心的是不会改变stopWebLogic.cmd。但我想用它和一些 CL 参数或标志来实现强制关闭。如果不可能,我显然可以自己修改/编写一些东西。我只是在寻找最好的方法。
    【解决方案2】:

    如果将现有文件配置为强制关闭,则可以使用它

    前往bin/stopWebLogic.sh

    然后修改下面这行

    echo "shutdown('${SERVER_NAME}','Server', ignoreSessions='true')" >>"shutdown.py"
    

    echo "shutdown('${SERVER_NAME}','Server', ignoreSessions='true', force='true')" >>"shutdown.py"
    

    然后使用bash stopWeblogic.sh执行文件

    即使存在活动会话或侦听器,weblogic 也会停止。

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 2016-11-28
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 2018-04-29
      相关资源
      最近更新 更多