【发布时间】:2013-07-17 07:02:54
【问题描述】:
场景是我手动启动命令提示符。然后我需要使用 Java 自动关闭命令提示符。如何使用 java 关闭命令提示符。任何人都可以帮助我
【问题讨论】:
-
@sureshatta 它是如何重复的?在问题中,命令提示符是手动打开的,而不是通过 java。
标签: java
场景是我手动启动命令提示符。然后我需要使用 Java 自动关闭命令提示符。如何使用 java 关闭命令提示符。任何人都可以帮助我
【问题讨论】:
标签: java
使用以下代码:
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 进程的进程
由于命令提示符是一个单独的平台特定程序,因此您没有任何跨平台解决方案。但是,您可以通过Runtime.getRuntime().exec() 或进程生成器执行命令exit。它有望奏效。
幸运的是,此命令在 windows 和 unix 上具有相同的语法。
问题是您是否要在程序仍在运行或程序终止时关闭命令提示符。
我认为在这两种情况下,更好的解决方案是使用负责关闭提示的平台特定脚本(例如 Windows 的 bat 文件和 unix 的 shell 脚本)运行您的 java 程序。
如果您想运行您的程序(例如创建窗口)并在程序仍在运行时关闭提示,您可以在 Windows 上使用 javaw 而不是 java。
【讨论】:
对于这种情况,您可以执行类似的命令Runtime.getRuntime().exec("command.exe /C" + "Your command");
这将打开命令提示符执行命令然后关闭它。
希望这会奏效
【讨论】:
这是我的做法
1) 创建一个包含以下内容的批处理文件 java -Xms512M -Xmx512M -jar yourFileName.jar -o true 退出
2) 使用你的退出输入流添加 System.exit(1);
【讨论】:
这很简单。你只需要使用 exit 命令。提供完整解决方案here
【讨论】: