gpt4 book ai didi

java - 在linux中执行命令

转载 作者:行者123 更新时间:2023-12-02 08:27:12 26 4
gpt4 key购买 nike

我有一个在 tomcat6 中运行的 servlet。我使用以下代码来执行命令乌类图Runtime.getRuntime().exec("/usr/bin/wine cmd/c some.vbs");问题是 tomcat6 以“tomcat6”用户身份运行程序,上面的java命令。所以上面的命令 getErrorStream 返回为“wine:/home/randeel/.wine 不属于您”我已经使用用户“randeel”安装了“wine”。有解决方法吗?

谢谢你,拉纳。

最佳答案

是:您必须切换用户。尝试一下

Runtime.getRuntime().exec("sudo -U randeel /usr/bin/wine cmd /c some.vbs");

请注意,sudo 会要求输入密码,除非您另行配置。

另一个更优雅的解决方案是运行一个小服务器作为 randeel 等待网络连接。然后它运行命令并通过网络连接返回输出。请参阅 java.net.Socket 的文档。

关于java - 在linux中执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4264857/

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