java - 如何在 Java 中以 root 身份执行 shell 命令

标签 java bash processbuilder

我正在开发一个用 Java 编写的跨平台安装实用程序。我希望能够在 Linux 上执行 shell 命令,例如“apt-get ...”。为此,我使用 ProcessBuilder API。

不幸的是,某些命令需要 root 权限。我想以 root 身份执行以下 shell 命令:

bash -c apt-get install -y [某些软件包]

如果我尝试在“apt-get”之前添加“sudo”,则不起作用,因为没有终端“sudo”可以从中获取密码。

我应该怎么做才能要求用户输入密码然后执行上述 shell 命令?

如果有一个简短的代码片段,我们将不胜感激! 提前致谢! 最大

最佳答案

您可以运行 gksudo <your command>但这会将您的应用程序与特定的 UI 联系起来,例如gnome、kde 等

关于java - 如何在 Java 中以 root 身份执行 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18020538/

相关文章:

java - Maven3-如何使用 verions-maven-plugin 告诉 maven 使用最新版本?

java - 最近重命名了查找文件夹的方法。 java

java - java中如何对对象进行排序

java - 更新语句只运行一次。?

Bash 获取字符串值

java - 如何在 java 中运行 sh 命令并分配选项

Bash 怪异 : Exit Codes of Arithmetic Expressions in Relation to Conditionals. 真/假与成功/失败

regex - 复制与范围内的数字模式匹配的文件

java - 尝试正则表达式匹配 Processbuilder 输出时出现异常

java - 通过 ProcessBuilder 调用的可执行文件找不到需要的文件