繁体   English   中英

从批处理文件运行Java时,是否可以钩住批处理文件以强制退出?

[英]When I run Java from a batch file, can I hook a batch file to force exit?

我在Java文件中创建目录,完成后将其删除。

如果我在Java工作期间退出,那么它当然不会执行删除操作。

我使用过addShutdownHook(),但似乎可以通过shutdown命令正常工作。

我的强制关机是指当我关闭正在运行的批处理文件窗口时。 (:按X按钮时)

有没有办法在Java源代码中解决它?

这是我尝试过的来源

.
.
.
Runtime.getRuntime().addShutdownHook(new Thread() {
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    FileUtils.deleteQuietly(new File(basePath));
                }
            });
.
.
.

我想不出一个纯Java解决方案。 问题是,如果您的程序被迫关闭,例如使用kill -9 (SIGKILL),则您的程序将无法在两者之间进行切换。 它将立即关闭。

您可以使用监控工具,如monit的deamontoolssupervisord尽快程序已关闭进行清理行动。

您还可以按照以下建议提供手工解决方案: 用于过程监控的Shell脚本 ,例如使用watch工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM