zoukankan      html  css  js  c++  java
  • 使用JSch远程执行shell命令

    package com.nihaorz.jsch;
    
    import com.jcraft.jsch.Channel;
    import com.jcraft.jsch.ChannelExec;
    import com.jcraft.jsch.JSch;
    import com.jcraft.jsch.JSchException;
    import com.jcraft.jsch.Session;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    /**
     * Created by Nihaorz on 2017/5/9.
     */
    public class Test {
        public static void main(String[] args) throws JSchException, IOException {
    
            String command = "service tomcat6 status";
    
            JSch jsch = new JSch();
            Session session = jsch.getSession("root", "omgr.gfstack.geo", 22);
            session.setPassword("123456");
            session.setConfig("StrictHostKeyChecking", "no");
            session.connect(60 * 1000);
            Channel channel = session.openChannel("exec");
            ((ChannelExec) channel).setCommand(command);
    
            channel.setInputStream(null);
    
            ((ChannelExec) channel).setErrStream(System.err);
    
            InputStream in = channel.getInputStream();
    
            channel.connect();
    
            byte[] tmp = new byte[1024];
            while (true) {
                while (in.available() > 0) {
                    int i = in.read(tmp, 0, 1024);
                    if (i < 0) break;
                    System.out.print(new String(tmp, 0, i));
                }
                if (channel.isClosed()) {
                    if (in.available() > 0) continue;
                    System.out.println("exit-status: " + channel.getExitStatus());
                    break;
                }
                try {
                    Thread.sleep(1000);
                } catch (Exception ee) {
                }
            }
            channel.disconnect();
            session.disconnect();
    
        }
    }
    

    参考:http://blog.chinaunix.net/uid-608135-id-5097850.html

  • 相关阅读:
    PHP 把字符转换为 HTML 实体
    CSS 不换行 white-space 属性详解
    JQuery 事件器的介绍
    maven 添加自己的包
    MYSQL 安装
    优秀系统
    JSP中的相对路径和绝对路径(转)
    Eclipse RCP扩展
    JSTL与EL(转)
    el表达式跟ognl表达式的区别(转)
  • 原文地址:https://www.cnblogs.com/nihaorz/p/6829701.html
Copyright © 2011-2022 走看看