0

我正在开发一个需要使用 python 脚本调用的 Java 服务,有点像这样:

def start_java_service(self, set_id):
            p = subprocess.Popen(['nohup', 'java', '-jar', 'SetProcessor.jar', set_id], cwd='/path/to/jar/directory')

此 python 脚本将由Amazon SSM 代理调用。问题是,一旦 Java 服务完成 1 小时的执行,它就会自动终止。

谁能帮我解决这个问题的调试步骤?

编辑

我发现如果我自己运行 Java 服务,它工作得很好。但是,如果它被 SSM 调用,它会在1 小时后被杀死

4

1 回答 1

1

可能有各种原因,

  • 最常见的一种是消耗过多的内存,这可能会触发操作系统终止进程:要对此进行故障排除,只需运行

    dmesg | grep '杀死进程'

为了更好地了解内存的去向,您可以使用 jmap,

  • 在这种情况下,另一个可能是由于未处理的异常,请确保您正在检查日志。
于 2018-04-30T11:31:48.673 回答