gpt4 book ai didi

java - Java 中的管道命令

转载 作者:行者123 更新时间:2023-11-30 03:32:46 25 4
gpt4 key购买 nike

我知道有很多关于此主题的链接,但没有一个链接能够准确回答我的问题。

从我的 Java 程序中,我需要执行以下命令:

sudo nohup hcidump --raw|myProgram arg1 arg2

我的方法:

 String[] cmd = {"/bin/sh", "-c", "sudo nohup hcidump --raw | myProgram arg1 arg2"};
Process p = Runtime.getRuntime().exec(cmd);

但是,我收到 sudo 使用错误。

关于如何通过管道传输有什么建议吗?

最佳答案

由于我不知道您遇到的错误,因此我只能猜测问题所在。我的猜测是您遇到了权限问题。

我能想到的两个选项是降低 hcidump 的权限,以便您的用户可以运行它们,或者让您的用户权限为该程序运行 sudo。由于它在 java 中运行,您可能希望拥有无密码访问权限来运行该命令的 sudo 。请参阅this askubuntu post

另一个可能的选择是以 sudo 身份运行程序并从命令中删除 sudo。此选项的问题是,如果您的程序可被利用,则恶意用户现在在您的计算机上拥有 sudo 权限。

 String[] cmd = {"/bin/sh", "-c", "nohup hcidump --raw | myProgram arg1 arg2"};
Process p = Runtime.getRuntime().exec(cmd);

关于java - Java 中的管道命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28638521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com