问题标签 [runtime.exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在java程序中执行winzip命令
需要在java程序中执行下面的winzip命令。
java - 尝试启动 Nmap.exe 时出现 Java Runtime.exec() 问题
我正在使用 Java 1.6 、 Eclipse 、 Windows 7。我正在尝试在 java 程序中运行命令以使用 NMAP。
编码 :
String cmd[] = { "cmd.exe", "/c","start notepad.exe"};
Process pr = rt.exec(cmd);
工作正常,但代码:
String cmd[] = { "cmd.exe", "/c","start nmap.exe"};
Process pr = rt.exec(cmd);
根本没有。
我在命令提示符下尝试了这两个命令,它们都可以正常工作,但是当我使用 Runtime.exec() 尝试时,后者失败了。会有什么问题?
提前致谢..
java - 使用 Runtime.exec 派生当前进程的另一个实例
我正在尝试使用 Runtime.exec 来启动当前进程的副本。我不一定对分叉感兴趣,因为我不需要共享状态。有没有办法可以确定用于启动当前进程的命令并重新运行它?
java - 在 x64 Windows 中有没有办法运行 Runtime.exec() 进程避免“注册表重定向”
我们的应用程序在 jvm 32 位中运行,即使在 windows x64 中也是如此。现在,在某些时候,我需要访问一些注册表值,例如 HKEY_LOCAL_MACHINE/SOFTWARE/mycomp。
我通过执行来做到这一点
从 Runtime.exec() 并解析输出。这在 Windows 32b 上运行时工作正常,问题是在 x64 上时,我找不到密钥,因为我运行的外壳是 32 位进程,并且由于注册表重定向,如果它在 HKEY_LOCAL_MACHINE/SOFTWARE 上,我会得到密钥/wow6432节点/mycop
任何想法?
java - 围绕命令行实用程序的包装设计
我试图设计一个包装器,以便在 java 中调用命令行实用程序时使用。runtime.exec() 的问题在于,您需要不断地从进程中读取数据和错误流,否则它会在填充缓冲区时挂起。这导致我进行以下设计:
和
我的问题是 Leech 类(用于“提取”进程和错误流并将它们输入到历史记录中 - 这就像一个日志文件) - 一方面阅读整行很好而且很容易(以及我目前的做),但这意味着我错过了最后一行(通常是提示行)。我只在执行下一个命令时看到提示行(因为在那之前没有换行符)。另一方面,如果我自己阅读字符,我如何判断该过程何时“完成”?(完成或等待输入)有没有人尝试过自进程的最后输出以来等待 100 毫秒并声明它“完成”之类的事情?
关于我如何围绕诸如 runtime.exec("cmd.exe") 之类的东西实现一个好的包装器有什么更好的想法吗?
java - 如何将标准输入重定向到 java Runtime.exec?
我想使用 Java 的 Runtime.exec 方法执行一些 sql 脚本。我打算调用 mysql.exe / mysql.sh 并将脚本文件重定向到这个进程。从命令提示符我可以运行命令
我可以使用 Runtime.exec 调用 mysql.exe 但如何将数据从 sql 文件重定向到 mysql.exe ?
我在http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4中阅读了这篇文章,并使用了 StreamGobbler 机制来获取错误和输出流。那里没问题。问题在于使用 BufferedReader 读取文件“scripts\create_tables.sql”并将内容传递给进程的输出流。我期待进程将数据传递给 mysql.exe。但我看到只有第一行是从这个 sql 文件中读取的。
当我这样做时,我看到只有 create_tables.sql 中的第一行被执行。该进程的退出代码为 0 并且没有其他错误或输出。
java - Java 运行时命令行进程
我有一个带有以下代码的类:
我可以在命令行上运行“gs -version”并获得:GPL Ghostscript 8.71 (2010-02-10) 版权所有 (C) 2010 Artifex Software, Inc. 保留所有权利。
所以我知道我至少在某个地方设置了路径。
我可以从命令行运行该类并且它可以工作。但是当我使用 eclipse 运行它时,出现以下错误:
在我的程序中,我可以将“gs”替换为:“java”、“mvn”、“svn”,它可以工作。但是“gs”没有。只有在eclipse中我才有这个问题。
关于我需要做些什么来解决这个问题的任何想法?
java - 如何在 Java 中创建一个允许主应用程序完全退出的后台线程?这适用于 Linux,但不适用于 Windows
我有一个 Java 应用程序,它创建一个新线程来做一些工作。我可以毫无问题地启动新线程。
当“主”程序终止时,我希望我创建的线程继续运行 - 它确实......
但问题是,当我从 Eclipse 或 Windows 下的 Ant 运行主应用程序时,除非后台进程被杀死,否则控制不会返回。
如果我在ant中分叉主java进程,我希望控制权在主线程完成其工作后返回给ant......但事实上,ant继续等待,直到主进程和创建的线程都终止.
如何在后台启动线程,以便在“主”应用程序完成时将控制权返回给 ant?(顺便说一句,当我在 Linux 下运行相同的应用程序时,我可以毫无问题地做到这一点)。
java - 在 Java 运行时设置 windows PATH 环境变量
我有一个使用 Runtime.exec() 方法触发可执行文件的 java 程序。我正在使用将一组命令行参数作为一个参数,并将一些环境变量作为另一个参数的变体。
我尝试设置的环境变量是路径,所以我传入“PATH=C:\some\path”。这不起作用。是否有一些技巧或任何替代方法。不幸的是,我坚持使用 Java 1.4。
java - Java中Process类的目的是什么?
这用于数据库的备份。但究竟会发生什么?任何人都可以让我解释一下,目的Runtime
和Process
课程是什么?
此类是否用于表现得好像我们是从命令提示符处键入命令一样?那么objRuntime.exec()
如果我想打开记事本应该传递什么?一旦我们调用 exec 方法,命令是否会执行?如果是,那么Process
这里的目的是什么?我真的无法理解这两个类。请让我明白。提前致谢 :)