使用Tomcat-7运行java进程命令

时间:2017-04-26 01:45:50

标签: java tomcat processbuilder

我正在使用Java-7和进程构建器来使用Tomcat 7运行shell脚本。

processBuilder =    new ProcessBuilder("/bin/bash", "/opt/script.sh");
processBuilder.start();

由于上面提到的代码是通过Tomcat7 Server托管的JSP页面调用的,所以命令运行但是进程无法继续,因为它是由tomcat7用户启动的(tomcat的默认用户)如何以root身份运行此命令,假设我知道root密码?

1 个答案:

答案 0 :(得分:1)

使用sudo运行命令:

  

实际上,sudo允许用户以另一个用户身份运行程序(大多数用户)   通常是root用户)。

ProcessBuilder b = new ProcessBuilder("/bin/sh", "-c", "echo <password> | sudo -S /opt/script.sh");
b.start();