我目前在本地的linux上写了一个swing的界面,想通过这个界面来控制其它电脑的linux重启。
我知道用Runtime.getRuntime().exec("shutdown   -r");可以控制本机Linux重启,但是怎么控制远程的linux重启呢?
比如我的地址是:202.115.132.80  ,远程的是202.115.132.81,都在局域网内,我还有81的root的账号。我现在希望81上不用做任何配置,而我就在本机上写java程序来控制81的重启?请问该怎么实现了?

解决方案 »

  1.   

    这可难了,别说linux了,就是控制windows从启都无从下手啊。去看源码吧。或谁写过远程控制的组件拿来用吧。
      

  2.   

    看看这个。JSCH是一个JAVA远程连接的库,可以SSH登录。我没用过,你可以试试SSH登录服务器后能否执行命令行’restart'来重启电脑http://www.jcraft.com/jsch/
      

  3.   

    提供一个建议参考:利用RMI来实现,在Linux上运行你写好的RMI服务端。然后,再通过RMI客户端(也就是你的Swing)来调用RMI服务端的重启方法。不过,就算可以重启,Linux也是要输入用户名和密码才能够进入系统啊。
      

  4.   

    linux不需要进入系统就服务就可以运行的,
    所以和进入系统没有什么关系
      

  5.   

    按照这样分析,其实也不需要RMI直接两边建立socket通信,收到消息直接调用
    reboot就行
      

  6.   

    好的。那就就决定采用socket的通信方式,不仅仅控制Linux的重启,还有tomcat,数据库mysql的重启
      

  7.   


    看楼主的主帖说不想在81这台电脑上做任何配置。现在看来是要在上面运行一个RMI客户端了,如果可以在81上运行点什么,那就简单多了,不用RMI也不用SOCKET,Servlet就可以