运行 java 使用 Tomcat-7 处理命令

Running java process command using Tomcat-7

我正在使用 Java-7 和流程构建器到 运行 shell 脚本使用 Tomcat 7.

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

由于上述代码是通过 Tomcat7 服务器托管的 JSP 页面调用的,因此命令 运行 但进程无法继续,因为它是由 tomcat7 用户(tomcat 的默认用户)假设我知道 root 密码,我如何 运行 这个命令作为 root?

运行 命令使用 sudo:

Effectively, sudo allows a user to run a program as another user (most often the root user).

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