gpt4 book ai didi

java - 从 Java 产生的进程的核心转储

转载 作者:行者123 更新时间:2023-12-04 07:04:21 25 4
gpt4 key购买 nike

我的 Java (Eclipse) 应用程序正在生成一个子进程,监视其标准输出流和退出值。当子进程因 SIGABRT 崩溃时,不会创建核心转储文件。如果我手动启动子进程并杀死它,那么核心转储就可以了。

我找不到有关 JVM 是否以某种方式准备子进程的任何信息(例如将核心转储文件大小设置为 0)。

有谁知道可能会发生什么以及要更改哪些设置以创建核心转储?

这是在 Suse 10 和 Ubuntu 9.04 上,使用 Java 5 和 6,如果有什么不同的话。

此致,
弗拉德

最佳答案

通常,核心文件的(非)创建由 ulimit 控制。命令(特别是 ulimit -c)。见 help ulimit (在 bash 中)了解详情。

这个设置应该从 shell 继承到子 shell,所以 Java 应该使用它启动的 shell 中的设置。 Java 可能会与 ulimit 混淆,但我从未听说过它会这样做。

尝试在 shell 中设置 ulimit,然后从那里启动您的 Java 进程。如果这没有帮助,您可以从 Java 调用一个包装脚本来设置 ulimit,然后启动您的程序。

关于java - 从 Java 产生的进程的核心转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1356723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com