杀死已捕获 OutOfMemoryError 的应用程序
我在Solaris 10环境中有weblogic。我的应用程序已捕获 OutOfMemoryError。
我的问题是关于从 shell 脚本中杀死应用程序的错误构建,而不是关于调整 java 或我的代码。
使用 Linux/BSD 和 Windows,我可以为我的特定应用程序执行 pgrep,然后执行 kill -SIGTERM
,然后执行 kill -SIGKILL
。 但在 SunOS 上我无法 pgrep 它们(ps(1) 仅返回前 80 个符号)。
有谁知道如何在重新部署之间不喝一杯或太多咖啡的情况下做到这一点?
I have weblogic in Solaris 10 environment. My application had been caught OutOfMemoryError.
My question about killing bad build of application from shell script, not about tuning java or my code.
With Linux/BSD and Windows I can do pgrep for my particular application and do kill -SIGTERM
and then kill -SIGKILL
it.
But on SunOS I can't pgrep them (ps(1) returns only first 80 symbols).
Does anybody know how to do it without drinking cup or too of coffee between redeploy?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望 ps 输出超过 80 个字符,可以使用 /usr/ucb/ps -alxww
Should you want more than 80 characters from ps output, you can use
/usr/ucb/ps -alxww
如果是 JRockit VM,请使用 JVM 参数
-XXexitOnOutOfMemory
;如果是 Sun JVM,请使用-XX:OnOutOfMemoryError="kill -9 %p"
。需要将其添加到 weblogic 容器的启动 JVM 参数中。另请参阅 Metalink 注释 1074735.1,了解 JRockit JVM 的所有非标准 JVM 选项的列表
use the JVM parameter
-XXexitOnOutOfMemory
in case of a JRockit VM or use-XX:OnOutOfMemoryError="kill -9 %p"
in case of a Sun JVM. This needs to be added to the start JVM args of the weblogic container.Also see the Metalink note 1074735.1 for a listing on all of the nonstandard JVM options of JRockit JVM