我需要从 Java 运行 sudo 并且我尝试了以下选项:
- Runtime.exec(每种形式的“回显密码 | sudo -S”)。尽管正确指定了程序的路径,但每种形式的命令都可以直接从终端成功执行,但不能从 java 执行
- ThreadExecutor 中的 ProcessBuilder,如此处所示
编辑 sudoers 和以 root 身份运行 Java 进程的选项对我来说是不可行的。这真的是我唯一的选择,因为我真的想避免使用任何非标准库吗?
编辑:似乎除了要求用户专门下载 SUDO GUI(kdesudo、gksu、cocoasudo 等)然后提供 java 的路径之外没有其他办法。