TECH SOLUTIONS

Click here to edit subtitle

Forums

Post Reply
Forum Home > Unix Learnings > How to Execute Unix Command from Java

Sourav Gulati
Site Owner
Posts: 83

Unix Commands can be executed from Java using Java ssh2 API.

You can download "ganymed-ssh2-build210.jar" for ssh2 API from following link and add it to the classpath:

http://mirrors.ibiblio.org/pub/mirrors/maven2/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar

Following is the Java program for executing Unix Command : 


import java.lang.*;

import java.io.*;

import ch.ethz.ssh2.Connection;

import ch.ethz.ssh2.Session;

import ch.ethz.ssh2.StreamGobbler;

public class unix

        {

static String ipaddress , username, password, command;

    unix(String ipaddress,String username,String password,String command)

   {

    unix.ipaddress = ipaddress;

    unix.username =  username;

    unix.password = password ;

    unix.command  = command;

    }

    

    

    

    public static void main(String args[]) throws IOException

    {

    unix obj = new unix("ipaddress","userid","password","absolute path of command to execute");    

      

    

    try {

        Connection conn = new Connection(unix.ipaddress);

        conn.connect();

        boolean isauthenticated = conn.authenticateWithPassword(unix.username,unix.password);

        if ( isauthenticated=false)

        {

            System.out.println("Authentication failed");

            System.exit(1);

            

        }

    Session sess = conn.openSession();

    sess.execCommand(unix.command);

    InputStream stdout = new StreamGobbler(sess.getStdout());

    BufferedReader br = new BufferedReader(new InputStreamReader(stdout));

    while(true)

    {

        String line =br.readLine();

        if (line==null)

        {

            break;

        }

       System.out.println(line);    

    }

    sess.close();

    conn.close();

    }

    catch(Exception e)

    {

        System.out.println(e);

    }

    }

}

 

 


--


September 21, 2012 at 1:30 AM Flag Quote & Reply

You must login to post.