0
点赞
收藏
分享

微信扫一扫

windows 关闭后台启动的java项目

caoxingyu 2023-11-14 阅读 31

实现"Windows 关闭后台启动的 Java 项目"的步骤

下面是整个过程的流程图:

stateDiagram
    [*] --> 检查Java进程是否在后台运行
    检查Java进程是否在后台运行 --> 判断是否在后台运行
    判断是否在后台运行 --> 如果在后台运行
    如果在后台运行 --> 停止Java进程
    如果在后台运行 --> [*]
    停止Java进程 --> [*]
    判断是否在后台运行 --> 如果不在后台运行
    如果不在后台运行 --> [*]

1. 检查Java进程是否在后台运行

我们首先需要检查Java进程是否在后台运行,可以通过命令行来完成。打开命令提示符或者PowerShell,并输入以下命令:

tasklist /FI "IMAGENAME eq java.exe"

这个命令将会列出所有名为"java.exe"的进程。如果有进程列表,则表示Java进程在后台运行。如果没有进程列表,则表示Java进程没有在后台运行。

2. 判断是否在后台运行

根据上一步的结果,我们可以判断Java进程是否在后台运行,可以使用条件语句来判断。在你的Java代码中,添加以下代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) {
        try {
            Process process = Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq java.exe\"");
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            boolean isRunning = false;
            while ((line = reader.readLine()) != null) {
                if (line.contains("java.exe")) {
                    isRunning = true;
                    break;
                }
            }
            if (isRunning) {
                System.out.println("Java进程在后台运行");
            } else {
                System.out.println("Java进程未在后台运行");
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这段代码通过执行命令tasklist /FI "IMAGENAME eq java.exe"来获取进程列表,并逐行读取输出结果。如果输出结果中包含"java.exe",则表示Java进程在后台运行。根据判断结果,输出相应的信息。

3. 停止Java进程

如果Java进程在后台运行,我们需要停止它。可以使用命令行的方式来停止进程。在你的Java代码中,添加以下代码:

public class Main {
    public static void main(String[] args) {
        try {
            Process process = Runtime.getRuntime().exec("taskkill /F /IM java.exe");
            process.waitFor();
            System.out.println("Java进程已停止");
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

这段代码通过执行命令taskkill /F /IM java.exe来强制停止Java进程。使用waitFor()方法等待进程执行完成。最后输出相应的信息。

至此,我们已经完成了"Windows 关闭后台启动的Java项目"的实现。

希望这篇文章对你有所帮助!

举报

相关推荐

0 条评论