【问题标题】:How to close command prompt using java, if already opened如果已经打开,如何使用 java 关闭命令提示符
【发布时间】:2013-07-17 07:02:54
【问题描述】:

场景是我手动启动命令提示符。然后我需要使用 Java 自动关闭命令提示符。如何使用 java 关闭命令提示符。任何人都可以帮助我

【问题讨论】:

标签: java


【解决方案1】:

使用以下代码:

class CmdKill
{
    public static void main(String args[])
    {
        try {
            Runtime.getRuntime().exec("taskkill /f /im cmd.exe") ;
        } catch (Exception e) {
            e.printStackTrace();  
        }
    }

}

肯定有帮助!!

编辑:

要终止特定进程,如果您有 PID(来自任务管理器。)您可以使用带有 /pid 选项的 taskkill。请参阅选项here。但无论如何,如果不查看任务管理器,您将不会拥有 pid。唯一的解决方案似乎是 this SO 回答的建议,即您开始该过程并获取参考。

【讨论】:

  • 很酷的解决方案。我不知道/im。但是,我担心它会杀死当前正在运行的 all cmd.exe,而不仅仅是一个发起这个 java 进程的进程
  • 以上代码不会关闭命令提示符,如果已经打开
  • @SaravanakumarMarudhachalam 怎么来的!它对我有用!你是对的。它会杀死所有打开的 cmd.exe
  • 它在我的电脑上工作,但是当我将它安装到每个人都可以使用该项目的服务器上时,在我退出调用的 .bat 文件后它没有关闭 cmd 窗口:Process p = Runtime.getRuntime().exec("cmd /c start CC.bat"); p.waitFor(); Runtime.getRuntime().exec("taskkill /f /im cmd.exe") ;
【解决方案2】:

由于命令提示符是一个单独的平台特定程序,因此您没有任何跨平台解决方案。但是,您可以通过Runtime.getRuntime().exec() 或进程生成器执行命令exit。它有望奏效。

幸运的是,此命令在 windows 和 unix 上具有相同的语法。

问题是您是否要在程序仍在运行或程序终止时关闭命令提示符。

我认为在这两种情况下,更好的解决方案是使用负责关闭提示的平台特定脚本(例如 Windows 的 bat 文件和 unix 的 shell 脚本)运行您的 java 程序。

如果您想运行您的程序(例如创建窗口)并在程序仍在运行时关闭提示,您可以在 Windows 上使用 javaw 而不是 java

【讨论】:

  • 嗨,Alex,我想在程序仍在运行时关闭命令提示符
【解决方案3】:

对于这种情况,您可以执行类似的命令
Runtime.getRuntime().exec("command.exe /C" + "Your command");
这将打开命令提示符执行命令然后关闭它。 希望这会奏效

【讨论】:

  • 不希望命令提示符被java打开!仔细阅读问题
  • 是!!!!!,但是如果他用这种方式执行命令,那么他就不需要关闭它了哥们。我不是来求积分的!!!喜欢你:p
【解决方案4】:

这是我的做法

1) 创建一个包含以下内容的批处理文件 java -Xms512M -Xmx512M -jar yourFileName.jar -o true 退出

2) 使用你的退出输入流添加 System.exit(1);

【讨论】:

    【解决方案5】:

    这很简单。你只需要使用 exit 命令。提供完整解决方案here

    【讨论】:

      猜你喜欢
      • 2011-06-08
      • 2011-07-29
      • 1970-01-01
      • 2011-03-27
      • 2013-03-27
      • 1970-01-01
      • 2023-03-05
      • 2018-06-06
      • 1970-01-01
      相关资源
      最近更新 更多