用于从不同服务器执行shell文件的Java应用程序
我想知道是否可以做到以下几点: 我必须创建一个Java应用程序,从不同的服务器运行.sh文件,我有我的类来执行shell,运行时和进程,它从我的计算机运行.sh文件,现在的问题是,我想知道是否用于从不同服务器执行shell文件的Java应用程序,java,shell,execute,Java,Shell,Execute,我想知道是否可以做到以下几点: 我必须创建一个Java应用程序,从不同的服务器运行.sh文件,我有我的类来执行shell,运行时和进程,它从我的计算机运行.sh文件,现在的问题是,我想知道是否 process = runtime.exec("/home/user/Documents/example.sh"); 可以是: process = runtime.exec("180.150.2.***/server/user/Documents/serverExample.sh");
process = runtime.exec("/home/user/Documents/example.sh");
可以是:
process = runtime.exec("180.150.2.***/server/user/Documents/serverExample.sh");
问题是,要从服务器获取.sh文件,我必须登录,这个应用程序可以是桌面应用程序,也可以是web应用程序,但必须是Java,那么,我该怎么做呢
我感谢你的帮助
Chema.基本上,我不认为你能做到这一点,你正在尝试的方式。
Runtime.exec(…)
将委托操作系统执行实际执行
有很多种方法可以实现您想要的,无论是纯Java还是通过基于操作系统的附加实用程序
您可以通过SSH或telnet连接到远程机器,并通过这些接口执行命令
您可以编写一个客户机-服务器应用程序,在该应用程序中,服务器将允许您向其发送命令以代表您执行(但您必须了解这是一个巨大的安全风险)。签出或删除。我使用后者以编程方式执行ssh/scp任务。问题不清楚。目的是从远程位置获取shell脚本并在本地运行,还是在远程主机上运行远程shell脚本?目的是在远程主机上运行shell脚本!就在钱里面。执行exec会将操作系统访问此类共享资源的工作委托给用户,如果运行java应用程序的用户没有执行它的权限,则不会发生这种情况