首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java.io.IOException的可能原因: CreateProcess error=5

Java.io.IOException的可能原因: CreateProcess error=5
EN

Stack Overflow用户
提问于 2011-07-13 13:26:52
回答 3查看 53.1K关注 0票数 20

什么类型的问题会导致Java的ProcessBuilder.start方法返回一个带有注释error=5的IOException?

具体地说,我们已经看到一个远程客户系统运行一些Java代码,如下所示……

代码语言:javascript
运行
复制
ProcessBuilder pb = new ProcessBuilder(cmdArray);
pb.redirectErrorStream(true);
Process p = pb.start();

像这样的...throw异常...

代码语言:javascript
运行
复制
java.io.IOException: CreateProcess: C:\example\example.exe argument1 argument2 error=5
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at example_code_above

我们已经确认了异常"C:\example\example.exe argument1 argument2“中记录的命令可以通过cmd.exe手动成功运行,因此我们确信该命令本身没有被破坏。

EN

回答 3

Stack Overflow用户

发布于 2014-07-02 01:13:36

Alexandr是对的,是Windows安全机制不允许该进程运行,但powershell命令对我不起作用。下面是我所做的:

  • 打开Windows资源管理器,然后导航到example.exe
  • Right单击它并选择"Properties"
  • Go到"Security“选项卡,然后单击”“按钮
    • 在顶部框中选择您的用户名,并在底部的框中指定”完全控制“或至少”读取并执行“
    • 单击”OK“以摆脱这些框

现在,您的用户可以执行该程序了。耶!

票数 9
EN

Stack Overflow用户

发布于 2016-07-27 02:45:41

有时发生这种情况是因为您放入代码中的路径不正确。对于windows,将"\\"作为路径分隔符,而不是"\",例如,将路径更改为"C:\\example\\example.exe"

票数 2
EN

Stack Overflow用户

发布于 2014-02-24 22:42:42

由于Windows UAC,我也有同样的异常。

即使您的帐户具有管理员权限,也可能发生这种情况。

为了能够运行这样的命令,我必须使用powershell来提升权限。

代码语言:javascript
运行
复制
powershell start-process 'start.bat' -Verb RunAs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6674431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档