• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1914
  • Last Modified:

How to run unix command from JSP

Hello Experts,

Can anybody please guide me on how to run a unix commands from jsp application ported on the unix box?
My requirement is to navigate to a particular Unix directory and run the command like: text2ps  -l  -m  t.1.25, b.5,.5  -r 60  -c 165  -s0.85  | distill > av_report.pdf (this command creates PDF from ASCII/text files)

If you could give a sample code, it will be a great help.
Thanks.
0
AmolDesai23
Asked:
AmolDesai23
  • 3
  • 3
1 Solution
 
Weiping DuSenior Web DeveloperCommented:
How about run shell from JSP script?  not sure it is best answer...

<%@ page language="java"  import="java.io.*, java.lang.*"%>

<%
  Runtime rt = Runtime.getRuntime();
  Process prcs = rt.exec(“/bin/bash”); //or your csh shell location

  BufferedWriter cmd = new BufferedWriter(new OutputStreamWriter(prcs.getOutputStream()));
  cmd.write(“text2ps  -l  -m  t.1.25, b.5,.5  -r 60  -c 165  -s0.85  | distill > av_report.pdf”);
  cmd.flush();

  int returnCode = prcs.exitValue();
  prcs.destroy();

%>
0
 
AmolDesai23Author Commented:
Thank you Owenli.

Do I need to have my JSPs on a same Unix machine to run and try this code? What if I have to run this Unix command on a different Unix machine?
0
 
Weiping DuSenior Web DeveloperCommented:
Yes, it should be on same machine. It is a separate process and not a thread within JVM.
You can call prcs.waitFor() to wait for the process to finish.

For  run this Unix command on a different Unix machine, I am not sure but I guess that you may need telnet API, try this package: de.mud.telnet OR org.apache.commons.net.telnet



0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
AmolDesai23Author Commented:
Thanks again! does anybody have a code to execute above unix comand on a different Unix machine (via a telnet may be... as per Owenli)?

regards.
0
 
kaliyugkaarjunCommented:
0
 
AmolDesai23Author Commented:
Thank you friend. I don't know much abt Unix and couldn't understand the code out there in that link.  Can i write something like this in my scriptlet? Will it work? if not...whats the solution?

    <%
    try
          {
          Runtime runTime = Runtime.getRuntime();
          Process process = runTime.exec ("text2ps  -l  -m  t.1.25, b.5,.5  -r 60  -c 165  -s0.85  | distill > av_report.pdf \r\n");
          InputStream inputStream = process.getInputStream();
          InputStreamReader   inputStreamReader = new InputStreamReader (inputStream);
          BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
          String line = null;
        while ( (line = bufferedReader.readLine()) != null )
    %>
    -- <%= line %>  <!-- this line is just for a debugging purpose-->
    <%    
        System.out.println(line);
          int exitVal = process.waitFor();
          System.out.println ("Process exitValue:  " + exitVal );
          }
          catch (Throwable t)
          {
               t.printStackTrace();
          }
    %>
0
 
Weiping DuSenior Web DeveloperCommented:
AmolDesai,

The code will work fine.  You may need use whereis/which text2ps to find its absolute location path. such as:
runTime.exec ("/local/bin/text2ps  -l  -m  t.1.25, b.5,.5  -r 60  -c 165 ....
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now