首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用另一个jar来检查我的jar是否仍在Windows 10中运行?

如何使用另一个jar来检查我的jar是否仍在Windows 10中运行?
EN

Stack Overflow用户
提问于 2021-05-17 09:35:41
回答 1查看 47关注 0票数 0

我是个业余程序员。所以如果我下面的问题是愚蠢的,那么我已经同意了。

我已经创建了一个java例程来记录从传感器到文本文件的数据。这个罐子从自动启动开始,应该24/7运行。为了不让它出现在windows 10中的任务栏上,我已经将它发送到托盘中。到目前一切尚好。然而,大约每周一次或两次,应用程序崩溃,我的日志读数的时间线被打断。为了进行调试,我创建了一个日志文件,jar应该将所有错误发送到该日志文件。但也没有相关的条目可以解释这次坠机事件。为了帮助自己,我创建了一个循环的批处理作业,如下所示:

:开始

“C:\程序文件(x86)\Java\jre1.8.0_281\bin\java”-jar D:...\MyApp.jar

启程

那批货很好用。但现在我的任务条上一直都有批次作业。我想,如果可以再写一个jar (我可以像我的主要应用程序那样放到我的系统托盘中)作为一个守护进程,每隔几分钟检查一次MyApp是否仍然处于活动状态,并在需要时重新启动它。

为了解决这个问题,我通常在网上冲浪,并试图找到一些代码片段来做我想做的事情,并为我修改它。但是,我还找不到任何java代码来检测MyApp进程在Windows 10中是否仍然处于活动状态。从Win taskmanager获取任务列表将无法完成,因为我在后台运行了几个小jar,当我打开任务管理器时,我只看到一般的“运行时代理”条目,而没有jar名称。

也许我找错关键词了。有人能帮我还是把我推向正确的方向?

EN

回答 1

Stack Overflow用户

发布于 2021-05-18 06:19:36

在搜索了一下之后,我找到了以下解决方案:

代码语言:javascript
复制
public static void startExtJarProgram(){
    String extJar = "MyApp.jar";
    //ProcessBuilder processBuilder = new ProcessBuilder(extJar);
    try {
       File f = new File("ClewareMonitorLog.txt");
       ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", extJar);
       processBuilder.redirectError(f);
       Process process = processBuilder.start();
       //Process process = Runtime.getRuntime().exec(extJar);
       while (true) {
           String timeStamp = new SimpleDateFormat("dd.MM.yyyy  HH:mm").format(new Date());
           JOptionPane.showMessageDialog(null, timeStamp + "   - MyApp started.");
           try {
                final int exitStatus = process.waitFor();
                process = processBuilder.start();
                } catch (InterruptedException ex) {
                System.out.println("InterruptedException: "+ex.getMessage());
            }               
       } 

这一职能是一个监护过程。它启动MyApp.jar,然后等待它的返回(这只在主应用程序终止时发生)。然后,它检查应用程序是否因错误而终止,如果没有,(=有人意外地关闭了它或java会话终止了)重新启动它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67567261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档