java jsch-JSCH 连接linux可以执行c程序吗?

问题描述

JSCH 连接linux可以执行c程序吗?

jsch怎么执行可执行文件(是一个c语言程序) 直接用文件名不行

解决方案

怎样在linux下编写C程序并编译执行
linux下的C语言计算程序执行时间

解决方案二:

这里执行的sh,你换成你c程序路径。

 public void cmremove()
{
    try
    {
        JSch jsch = new JSch();
        Session session = jsch.getSession(user, host, port);
        UserInfo ui = new SUserInfo(pass, null);
        session.setUserInfo(ui);
        session.setPassword(pass);
        session.connect();

        ChannelExec channelExec = (ChannelExec)session.openChannel("exec");

        InputStream in = channelExec.getInputStream();

        channelExec.setCommand("./repoUpdate.sh");
        channelExec.connect();

        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line;
        int index = 0;

        while ((line = reader.readLine()) != null)
        {
            System.out.println(++index + " : " + line);
        }

        int exitStatus = channelExec.getExitStatus();
        channelExec.disconnect();
        session.disconnect();
        if(exitStatus < 0){
            System.out.println("Done, but exit status not set!");
        }
        else if(exitStatus > 0){
            System.out.println("Done, but with error!");
        }
        else{
            System.out.println("Done!");
        }
    }
    catch(Exception e)
    {
        System.err.println("Error: " + e);
    }
}
时间: 2024-12-30 18:46:58

java jsch-JSCH 连接linux可以执行c程序吗?的相关文章

Java中通过jsch来连接远程服务器执行linux命令_java

有时候你可能需要通过代码来控制执行linux命令实现某些功能. 针对这类问题可以使用JSCH来实现,具体代码如下: public class CogradientImgFileManager{ private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class); private static ChannelExec channelExec; private static Session

Linux中执行shell程序的方法

1)执行shell程序的指令是bash 2)shell程序文本的后缀是.sh 举例: [root@localhost abc]# bash test_td.sh Shell程序是实现自动化处理必备的工具.

java-Java 连接linux方式,及问题

问题描述 Java 连接linux方式,及问题 1.Java连接linux并执行命令除了jsch还有其他开源软件么? 2.JSCH在用的时候会出现总线程数一直在上升,且线程执行完毕后状态是finished, 通过jdk提供的监控软件可观察到.原因应该是在session.connect中,如何解决此类问题? 解决方案 是否有close等函数可以调用来释放连接 解决方案二: java也可以用ssh连http://download.csdn.net/detail/hexapod/1861644 解决方

java jsch 摩托设备-jsch怎么连接摩托设备?求大神帮忙,急急急。。。

问题描述 jsch怎么连接摩托设备?求大神帮忙,急急急... 因为摩托的设备登入方式是:ssh userName@IP,比其他设备的登入方式多了userName (其他设备的登入方式,如华三:ssh IP),所以在用jsch连接的时候,不知道要从哪里注入userName 这个参数. 官网的例子代码如下: package com.zzl; /* -*-mode:java; c-basic-offset:2; indent-tabs-mode:nil -*- / /* This program en

java 使用jsch包进行ssh登陆失败,手动ssh命令可登陆

问题描述 java 使用jsch包进行ssh登陆失败,手动ssh命令可登陆 报错如下:com.jcraft.jsch.JSchException: Session.connect: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64 and can only range from 512 to 1024 (inclusive) 网上查到类似的说是jdk版本问题,目前使用的是1.6,

我有个java连接网络的程序,想要在windows登陆前执行这个程序,请教该如何做

问题描述 我有个java连接网络的程序,想要在windows开机以后,用户登陆前执行这个程序,请教该如何做 问题补充:ZavaKid 写道 解决方案 楼主可以参考这个,很可能对楼主有用: http://www.cnblogs.com/codeyu/archive/2009/09/03/1559736.html解决方案二:首先windows登陆前网卡不一定初始化好了,这时候连接网络有可能是不通的.可以考虑驱动的形式解决方案三:引用恩,就是我自己写个java程序封装成了exe可执行的程序,这个程序是

postgresql java问题-Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令

问题描述 Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令 请各位大神帮忙解决一下这个问题:"Postgresql java编程用jdbc连接,怎么样执行postgresql中 d 的查询指令"谢谢. 情况是这样: 我要把所有表的constraints的column找出来,但是我只能通过pg_indexes找到constraints的名字,只有通过d constraints_name 才能找到column,所有请教各位大神有没有解决方法

在linux中执行java.jar时报错

问题描述 [devafs:/home/devafs/batch/sbin] sh start.shUsage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file)where options include: -d32 use a 32-bit data model if available -d64 use a

tomcat-JAVA连接远程服务器执行shell脚本启动TOMCAT权限问题

问题描述 JAVA连接远程服务器执行shell脚本启动TOMCAT权限问题 JAVA本地连接远程linux服务器执行shell脚本提示:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program 注:脚本在服务器可以运行,连接用的也是root账户,是不是权限问题,还是其他