将-XX:OnOutOfMemoryError =“ kill -9%p”添加到jvm gradle选项导致我的服务无法启动

时间:2019-07-05 19:57:29

标签: java shell gradle command-line jvm

我正在尝试建立一种方法来处理应用程序中的内存不足错误。为此,我在gradle文件中添加了-XX:OnOutOfMemoryError的选项,该选项将添加到启动脚本的jvm选项中。但是,这似乎导致该应用无法以简单的错误启动:

-9: command not found

这是我在gradle.build文件中设置jvm选项的方式:

task appStartScripts(type: CreateStartScripts) {
    def tplName = 'startTemplate.sh'
    assert project.file(tplName).exists()
    unixStartScriptGenerator.template = resources.text.fromFile(tplName)
    defaultJvmOpts = [
                      "-Dsun.security.krb5.debug=false",
                      "-Dsun.security.jgss.debug=false",

                      "-XX:OnOutOfMemoryError=\"kill -9 %p\"",

                      "-Xms1G", "-Xmx2G",
                      "-Dapp.name=${rootProject.name}"]

    dependsOn shadowJar
    applicationName = 'start'
    defaultJvmOpts += ["-Dspring.profiles.active=Profile_Name"]
    classpath = startShadowScripts.classpath
    mainClassName = startShadowScripts.mainClassName
    outputDir = new File(project.buildDir, 'scriptsShadow')

}

我也尝试过\'kill -9%p \'和'kill -9%p'。我还只是将整个内容括在start.sh文件中的引号中:

"-XX:OnOutOfMemoryError=kill -9 %p"

仅输出以下内容:

Unrecognized option: -9

这看起来应该很简单,尤其是因为我将命令和选项用引号引起来。

0 个答案:

没有答案