Java Runtime.getRuntime().exec 不执行
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash

·
Java Runtime.getRuntime().exec 不执行
在linux服务器上用java调用脚本,直接写
Java Runtime.getRuntime().exec(“要执行的命令”)有时候发现并不能执行响应的命令。
原因
1.这是因为linux执行命令需要使用linux系统自带的sh工具,而java虚拟机有时候并不能获取到系统的环境变量,导致命令无法被执行
2.还有可能就是异常太多导致异常栈满了,生产者满了无人消费,程序便阻塞了
解决方法
在命令前加上
/bin/sh -c
表示调用系统/bin目录下的sh工具
如果你用的是字符串传递命令,可以这么写
String [] cmd={"/bin/sh","-c","chmod 755 ./do*"};
Runtime.getRuntime().exec(cmd);
获取异常信息和正常输出信息
Runtime.getRuntime().exec(run).getErrorStream();
Runtime.getRuntime().exec(run).getInputStream();




A beautiful web dashboard for Linux
最近提交(Master分支:19 天前 )
186a802e
added ecosystem file for PM2 5 年前
5def40a3
Add host customization support for the NodeJS version 5 年前
更多推荐
所有评论(0)