我正在尝试使用Runtime.execute()从Java类执行unix schell脚本。但是我这样做时会得到exitValue 139。 请找到代码段:
try{String scriptName = "test.ksh";
String argParameter = "satish"; // parameter passed to ksh
file.String scriptToBePassed = "/usr/bin/ksh "+scriptName+" "+argParameter;
Process proc = Runtime.getRuntime().exec(scriptToBePassed);
int exitValue = proc.waitFor();
s.o.p("Exit Value is : "+exitValue);}catch(Exception e){ e.printStackTrace();}
步骤2)test.ksh文件在内部调用exe文件并接受参数。
在运行上面的代码时,我得到139退出值。
并且还要注意,当我手动运行脚本时,它成功了。
以上java代码将生成命令: / usr / bin / ksh test.ksh satish。
该命令用于手动运行。
答案 0 :(得分:0)
使用命令的完整路径 完整路径意味着shell脚本的路径??。 我把我的剧本放在/ satish / bexe区域......我应该 用得像 / usr / bin / ksh /satish/bexe/test.ksh之类似......