在Linux下Java如何执行远程Windows命令??

大_爱 2012-07-26 10:32:31
在线等待。。。
...全文
617 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
大_爱 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

LZ解决了吗。我也想知道如何实现。。
[/Quote]
其实没有更好的办法,我现在还没做这个东西。我估计我会去研究一下,JMX 和 RMI,
shenmifive 2012-08-01
  • 打赏
  • 举报
回复
LZ解决了吗。我也想知道如何实现。。
大_爱 2012-07-30
  • 打赏
  • 举报
回复
谢谢大家,这几天搬家没上网,结贴晚了,望大家见谅
大_爱 2012-07-30
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

LZ首先要知道这是个远程调用,那么远程机器提供相关的远程连接服务和接口(包括端口)是前提
像现成的SNMP或telnet之类的,LZ都不想使用,那么就只能自己在远程机器安装自己的程序来提供相关的远程服务
windows提供SWbemServices服务来远程访问wmi,但是linux是否有相关的远程连接该服务的客户端或相关类库(windows就有提供这样的客户端软件和支持,可以运行wbemt……
[/Quote]
嗯,多谢,我想我应该知道怎么做了。
aotian16 2012-07-28
  • 打赏
  • 举报
回复
rmi行不
qybao 2012-07-28
  • 打赏
  • 举报
回复
LZ首先要知道这是个远程调用,那么远程机器提供相关的远程连接服务和接口(包括端口)是前提
像现成的SNMP或telnet之类的,LZ都不想使用,那么就只能自己在远程机器安装自己的程序来提供相关的远程服务
windows提供SWbemServices服务来远程访问wmi,但是linux是否有相关的远程连接该服务的客户端或相关类库(windows就有提供这样的客户端软件和支持,可以运行wbemtest),这些都不能保证,所以如果非要远程调用wmi,那就在windows端做个代理程序负责提供linux远程连接服务和wmi的调用。(其实LZ可以试试telnet之类的远程登陆成功以后能否调用wmi,如果可以的话,可以写个telnet脚本之类的在java端调用)
MiceRice 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
我之前也查到有 J-Interop这个 东西,网上说配置都没成功过。还没来的及仔细研究。
[/Quote]

这类跨平台的东西终归还是难度会大些,而且还涉及不同版本问题。
qiuqiupeng 2012-07-27
  • 打赏
  • 举报
回复
你想干嘛?

开发一个客户端或者做个插件不久可以做到了么!
大_爱 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]


关于WMI,你参考下这个看看:
http://simpleframework.net/blog/v/34604.html
[/Quote]

我之前也查到有 J-Interop这个 东西,网上说配置都没成功过。还没来的及仔细研究。

MiceRice 2012-07-27
  • 打赏
  • 举报
回复
JMX并不复杂,但也别把它想的太神奇了。

基本上类似于“3、Windows端开发一个Java代理”。

只不过换成Windows端开发一个JMX服务;然后Linux端就可以远程调用了。



关于WMI,你参考下这个看看:
http://simpleframework.net/blog/v/34604.html
大_爱 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ldh911 的回复:]

作为设计人员来说,大多数事情最终都是个取舍问题。。。

对于80%能通过简单方式实现的功能,就用简单方式来做,比如SNMP;
对于15%需要通过复杂手段来实现的,不得已就复杂来做,比如Telnet或其它;
对于5%需要极高代价才能实现的,不如就别做了。
[/Quote]

能通过SNMP方式获取的,一定用SNMP来获取,有些东西获取不到,就只有通过其他方式了,

我在网上查到有个JMX这个东西,不知道ldh911对JMX 了解不。
MiceRice 2012-07-27
  • 打赏
  • 举报
回复
作为设计人员来说,大多数事情最终都是个取舍问题。。。

对于80%能通过简单方式实现的功能,就用简单方式来做,比如SNMP;
对于15%需要通过复杂手段来实现的,不得已就复杂来做,比如Telnet或其它;
对于5%需要极高代价才能实现的,不如就别做了。
大_爱 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

常用就是三种手段:
1、Windows端开启SNMP(简单网络管理协议);Linux端直接通过标准SNMP协议请求系统性能数据;
2、Windows端开启Telnet;Linux这边用Java作为客户端连接上去,然后直接远程操作即可;
3、Windows端开发一个Java代理,负责收集数据;Linux这边就用Java远程请求该代理执行搜集动作;
[/Quote]
1、SNMP有些东西获取不到,比如进程的一些详细信息,Windows的服务,也监控不到。
2、Telnet这种方式个人认为不太好操作
3、Windows客户端是不装其他程序的,可以安装WMI
MiceRice 2012-07-27
  • 打赏
  • 举报
回复
常用就是三种手段:
1、Windows端开启SNMP(简单网络管理协议);Linux端直接通过标准SNMP协议请求系统性能数据;
2、Windows端开启Telnet;Linux这边用Java作为客户端连接上去,然后直接远程操作即可;
3、Windows端开发一个Java代理,负责收集数据;Linux这边就用Java远程请求该代理执行搜集动作;
大_爱 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

不会拉。。。。
[/Quote]
谢谢帮顶!
大_爱 2012-07-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

http://bbs.chinaunix.net/thread-1712730-1-1.html
[/Quote]

好想也没解决问题呀。
大_爱 2012-07-26
  • 打赏
  • 举报
回复
没有人么??
大_爱 2012-07-26
  • 打赏
  • 举报
回复
求大神指导。。。
大_爱 2012-07-26
  • 打赏
  • 举报
回复
Java环境在Linux下,主要想实现Java监控Windows系统资源,在Windows上很好做,用wmi C#几行代码就搞定了,在Linux上我想通过Java调用wmi,但是不知道如何调用,系统是Linux上的,用C#写个DLL也用不了,后来查找到有个wmic的东西,就是命令行的wmi,我依然不知道如何才能调用。
小笨熊 2012-07-26
  • 打赏
  • 举报
回复
不会拉。。。。
加载更多回复(1)

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧