Java - 启动一个进程 - 完全像Windows7一样



我正在尝试在用Java编写的测试框架中启动一个进程,但是该进程的行为有所不同。"登录"按钮冻结。问题可能是通过关闭启动流程的测试框架来修复

当用户启动进程时,存在-NO-问题。(通过Explorer,Visual Studio,cmdline&&TIME测试框架运行时)

ProcessBuilder pb = new ProcessBuilder(commands);
pb.directory(workingDirectory);

process = runtime.exec(commands, null, workingDirectory);

未能提供适当的结果。进程的行为仍然不同于双击应用程序图标创建的进程。该应用程序是用本机 C++ 编写的

我如何像 Windows7 那样启动一个进程?

我认为您的问题可能是 .exec 命令中的空值。 这是您要传递的环境变量。

查看java.lang.Runtime 类的 javadocs:

envp - 字符串数组,其每个元素都有 name=value 格式的环境变量设置,如果子进程应继承当前进程的环境,则为 null。

也许您在运行 java 程序时缺少环境变量或其他内容。

确保读取进程流以解决阻塞问题。

最新更新