gpt4 book ai didi

java - 外部java程序: Handle SIGTERM

转载 作者:行者123 更新时间:2023-11-30 03:47:17 27 4
gpt4 key购买 nike

我有一个在主机上运行的java程序(带有GUI)。在运行时,用户可以添加一些数据记录。该程序只适合他们。

稍后系统可能会关闭或程序只是被 SIGTERM 关闭。

不幸的是,如果用户使用“X”手动关闭程序,程序似乎只会存储数据记录。

现在我遇到一个问题,如果程序被 SIGTERM 关闭,我可能会丢失一些数据。不幸的是,没有联系电子邮件地址来要求作者进行更改。

我尝试用“jd gui”反编译它,这似乎或多或少有效。我想我只需添加信号处理程序并调用“窗口关闭”方法即可。

但是“jd gui”创建了这样的代码:

/* 110:269 */       if ((??? = Thread.currentThread().getContextClassLoader()) != null) {
/* 111:270 */ return ???;

如果我尝试编译源代码,我还会遇到许多其他错误。

我认为这是因为jar文件被某些工具混淆了。不幸的是,反编译的代码不起作用,我无法使用 JFrame 重新编译该文件。

长话短说:是否可以编写一个“包装程序”,仅处理 SIGTERM,然后调用主框架(这是唯一的 JFrame)的 JFrame“关闭方法”(或如何调用它)?

我只是不知道如何调用外部运行的java程序的这样的方法。

非常感谢。

最诚挚的问候凯文

最佳答案

使用 main 方法创建您自己的类,该方法安装关闭 Hook 以在关闭之前保存。然后调用原程序的main方法。将其添加到 jar 并使用此类来启动程序。

关于java - 外部java程序: Handle SIGTERM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25340113/

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