Runtime.getRuntime().exec -- Cannot run program CreateProcess error=2, The system cannot find the file specified
问题原因
最近有个需求用Java调用nginx -V
并返回输出,查了一下决定使用Runtime.getRuntime().exec()
去执行命令.代码如下:
1 | process = Runtime.getRuntime().exec(cmd, null, dir); |
最初调用函数将正确路径和cmd都传入进去,其中cmd为nginx -V
,但是返回下列错误:
Cannot run program “nginx -V”: CreateProcess error=2, 系统找不到指定的文件
解决办法
查了一下相关资料,只需要将原有的cmd命令由nginx -V
改为cmd /c nginx -V
即可
参考链接
CreateProcess error=2, The system cannot find the file specified