【发布时间】:2015-07-16 18:42:41
【问题描述】:
我正在尝试通过 Java 进程构建器运行 Kshell 脚本。该脚本本身在服务器上运行时可以完美运行。但是,当我通过进程构建器运行它时,我得到了退出代码127 - command not found。
代码:
ProcessBuilder procBuilder = new ProcessBuilder(command);
procBuilder.directory(new File(codeDir));
proc = procBuilder.start();
errorCode = proc.waitFor();
return errorCode;
我的命令如下:
[/bin/ksh, -c, myscript.ksh, 20150714]
我使用以下命令自行在服务器上运行脚本:
ksh -x myscript.ksh 20150714
知道这里出了什么问题吗?
【问题讨论】:
-
您确定
myscript.ksh在codeDir中吗? -
是的,我确实有脚本。我正在考虑使用common-exec。希望它能解决这些问题。
-
您确定
ksh位于/bin/ksh? -
是的,我查过了。它就在那里,不得不做所有这些事情真是太痛苦了。所以我尝试了 common-exec 并且它在第一次尝试中起作用。终于解脱了。感谢您的帮助,不胜感激.. :)
-
我只在一台服务器上遇到了完全相同的问题...无法弄清楚原因。使用 common-exec 不是一种选择,因为它缺少我需要的高级功能......
标签: java process runtime.exec processbuilder