jsch ssh服务器调用Linux命令或脚本的小问题

简介: 代码如下: public static boolean execshell(String command, String user, String passwd, String host) throws JSchException, IOException { c...

代码如下:

    public static boolean execshell(String command, String user, String passwd, String host) throws JSchException, IOException {  
        connect(user, passwd, host);
        BufferedReader reader = null;
        boolean flag = true;
        Channel channel = null;  
        String charset ="UTF-8";
        try {  
            //执行linux命令
            channel = session.openChannel("exec"); 
            ((ChannelExec) channel).setCommand(command);  
            ((ChannelExec) channel).setErrStream(System.err);  
            channel.connect(); 
            InputStream in = channel.getInputStream();
            reader = new BufferedReader(new InputStreamReader(in,
            Charset.forName(charset)));
            String buf = null;
            while ((buf = reader.readLine()) != null) {
            log.info(buf);
            }            
             }catch (Exception e) {
                 e.printStackTrace();
             }finally {   
                 reader.close();
                 channel.disconnect();  
                 session.disconnect();  
        }
        return flag;
    }

这里发现了一个问题,如果使用红色字体中的方法,用来输出执行linux命令或sh文件时系统错误的输出,这样的话会造成一个问题,就是使用log4j的方法无效,后面的log.info以及返回后其他类中的log都将失效,最终tomcat的catalina.out的日志就永远停止了。。。。所以使用时,一定要注释掉哦~或者不用哦~使用下面reader读取linux中的输出信息就行了哦~

目录
相关文章
|
12天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
23 1
|
15天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
18天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
32 2
|
2天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
11天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1234 8
|
22天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
23天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
弹性计算 运维 监控
ECS使用与Linux环境搭建
本文主要记录ECS使用中,安全组配置,Linux下生成环境搭建等。
ECS使用与Linux环境搭建