我的任务是建立一个自动化系统,该系统必须在 Linux 服务器上做一些事情,根据我的理解和研究,迄今为止在 Java 中无法轻松完成这些事情,例如在linux服务器。我在 Java 库上使用了一些 SSH,但发现它们很难可靠地使用。我可以直接在 linux 服务器上运行 java 应用程序,所以我想知道是否有比通过 SSH 更好地对服务器进行所需调用的方法。任何意见,将不胜感激
问问题
301 次
2 回答
2
Runtime.getRuntime().exec("一些 linux 命令");
例子:
jcomeau@intrepid:/tmp$ cat /tmp/test.java; javac test.java; java test
import java.net.*;
import java.io.*;
public class test {
public static void main(String args[]) throws Exception {
String line;
Process process = Runtime.getRuntime().exec("ls");
BufferedReader process_out = new BufferedReader(
new InputStreamReader(process.getInputStream()));
while ((line = process_out.readLine()) != null)
System.out.println(line);
process.waitFor();
}
}
bin
hash.class
hash.java
hsperfdata_jcomeau
profile
test.class
test.java
tmpe66f4e
tmplvOd2n
tmpn8FI2Q
tmpoYaciK
tmpx27knK
vmlinux
繁體中文.txt
于 2011-06-21T06:27:10.040 回答
1
有很多 Linux 网络管理工具可以实现这种管理——谷歌最热门的是Webmin——用 Perl 或 PHP 编写。除非您需要与服务器上现有的 java 代码集成,否则我想我会考虑调整其中的一个,而不是从头开始使用一种不太适合此类任务的语言。
不要低估这个系统的潜在安全风险——在他人工作的基础上构建的另一个优势。
于 2011-06-21T06:37:45.163 回答