Sponsored Content
Top Forums UNIX for Dummies Questions & Answers running unix command from java Post 302668407 by madhu_sharan on Monday 9th of July 2012 08:21:16 AM
Old 07-09-2012
Code:
private boolean executeShell(String strShellCmd) {
        try {
            procTemp=runEnv.exec(strShellCmd);

            //read the output from shell console
            BufferedReader brShellOP = new BufferedReader(
                    new InputStreamReader(procTemp.getInputStream()));
            String strShellOP = null;
            while ((strShellOP = brShellOP.readLine()) != null) {
                System.out.println(strShellOP);
            }
            brShellOP.close();

            // catch error from shell console (if any)
            BufferedReader brShellError = new BufferedReader(
                    new InputStreamReader(procTemp.getErrorStream()));
            String strShellError = null;
            while ((strShellError = brShellError.readLine()) != null) {
                System.out.println(strShellError);
            }
            brShellError.close();

            // wait for the process to finish
            try {
                intExitVal = procTemp.waitFor();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            
            //returns false if shell console throws error
            if(intExitVal!=0){
                return false;
            }
            return true;

        } catch (IOException ioEx) {
            System.out.println("error in executeShell().IOException");
            ioEx.printStackTrace();
            return false;
        }
    }

this is the entire method that does the execute operation.
Let me know if you require any other inputs for getting my issue solved.

PS: i'm new to this executing-unix-from-java thing.

Thanks a tonne,
Madhu.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Java program calling a UNIX command

I was wondering if it was possible to call a unix command directly from a Java program during run-time. This command could very very basic e.g. "ps -ef" returned as a string, all I need is a starting place so if anyone has any suggestion or examples I would be very grateful (2 Replies)
Discussion started by: QUartz Ite
2 Replies

2. UNIX for Dummies Questions & Answers

Executing UNIX command from java on NT

Hi - I am totally new to UNIX so please bear with me... I run a java program on Win NT server to do file ftp to UNIX server. I log in, cd, create ftp file on UNIX and quit from my java progam - all works well. Now I want to execute a script on UNIX. At the UNIX 'console'/'shell' (!?) you... (1 Reply)
Discussion started by: CJ Walt
1 Replies

3. Shell Programming and Scripting

execute command unix with java:possible or not?

hi everybody, i have a small unix script and i want to use it with java, so how can i executte unix command with java (if it is possible): in fact i want to use some values returned by this script with java swings. is it possible (of course everything is possible) but how can i do? thank you in... (4 Replies)
Discussion started by: mips
4 Replies

4. Shell Programming and Scripting

empty space in java command through unix

I need to pass an empty space in the command ="java ......... " as one of the arguments where java calls some java command.... (It accepts it in windows as " ") Thanks in advance SD (2 Replies)
Discussion started by: shweta_d
2 Replies

5. Programming

exit status running java classpath in unix shell

I have a java classpath running inside of a unix shell script. During my testing it will error with lines that show an example like this below. java.io.FileNotFoundException error at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:129), ... (2 Replies)
Discussion started by: mmcds
2 Replies

6. Programming

execute unix command from java eclips

Hi all, I tried to execute the command by 2 ways : 1) Java Runtime class exec method - but the problem there is that it only can execute scripts without arguments(I need with args) 2) the Jtux classs Uprocess- the problem it is not supported by windows and my eclips platform is on... (0 Replies)
Discussion started by: katzs500
0 Replies

7. Programming

Exception Signal 11 while running JAVA code in UNIX

Hi, when i compile my java code in UNIX using javac, the class file is getting created. But when i try to run the code using java - classpath command, i get the following error. ---------------------------------------- /u/up11/sample/request:>java -classpath /u/up11/sample/request... (0 Replies)
Discussion started by: satish2712
0 Replies

8. UNIX for Advanced & Expert Users

running unix command from java

Hi All, I have been struggling for a week trying to run a unix command from my java program. the unix command is = ssh dmdev3@tsapid01-zt3d01 ':> /t3/envs/dmdev3/test/file_list.txt' when i try to run this command directly on my unix console, it works perfectly. but when i try it form my... (0 Replies)
Discussion started by: madhu_sharan
0 Replies

9. UNIX for Advanced & Expert Users

Command to check java file in UNIX

Guys, i need to check whether java file can be executed in my current unix system or not. Can anyone please help me to get the correct command to check this. My Unix system is HP-UX. Thanks, (1 Reply)
Discussion started by: AraR87
1 Replies

10. Shell Programming and Scripting

Command to get exact tomcat process I am running ignoring other java process

Team, I have multiple batchjobs running in VM, if I do ps -ef |grep java or tomcat I am getting multiple process list. How do I get my exact tomcat process running and that is unique? via shell script? (4 Replies)
Discussion started by: Ghanshyam Ratho
4 Replies
tnameserv(1)						      General Commands Manual						      tnameserv(1)

NAME
tnameserv - Java IDL name server starter script SYNOPSIS
tnameserv -ORBInitialPort portNumber DESCRIPTION
The CORBA COS (Common Object Services) Naming Service provides a tree-like directory for object references much like a filesystem provides a directory structure for files. The Naming Service provided with Java IDL is a simple implementation of the COS Naming Service specifica- tion. Object references are stored in the namespace by name and each object reference-name pair is called a name binding. Name bindings may be organized under naming contexts. Naming contexts are themselves name bindings and serve the same organizational function as a file system subdirectory. All bindings are stored under the initial naming context. The initial naming context is the only persistent binding in the namespace; the rest of the namespace is lost if the Java IDL name server process halts and restarts. For an applet or application to use COS naming, its ORB must know the name and port of a host running a naming service or have access to a stringified initial naming context for that name server. The naming service can either be the Java IDL name server or another COS-compli- ant name service. USAGE
Starting the Java IDL Name Server You must start the Java IDL name server before an application or applet that uses its naming service. Installation of the Java IDL product creates a script named tnameserv that starts the Java IDL name server. Start the name server so it runs in the background. If you do not specify otherwise, the Java IDL name server listens on port 900 for the bootstrap protocol used to implement the ORB resolve_initial_references() and list_initial_references() methods. Specify a different port, for example, 1050, as follows: example% tnameserv -ORBInitialPort 1050 Clients of the name server must be made aware of the new port number. Do this by setting the org.omg.CORBA.ORBInitialPort property to the new port number when creating the ORB object. Stopping the Java IDL Name Server To stop the Java IDL name server, use the relevant operating system command, such as kill(1). Note that names registered with the Java IDL name service disappear when the server is terminated. Sample Client: Adding Objects The following sample program illustrates how to add names to the namespace. It is a self-contained Name Server client that creates the following simple tree. Initial Naming Context / / plans personal / / calendar schedule In this example, "plans" is an object reference and "personal" is a naming context that contains two object references: "calendar" and "schedule". import java.util.Properties; import org.omg.CORBA.*; import org.omg.CosNaming.*; public class NameClient { public static void main(String args[]) { try { In the above section, Starting the Java IDL Name Server, the nameserver was started on port 1050. The following code ensures that the client program is aware of this port number. Properties props = new Properties(); props.put("org.omg.CORBA.ORBInitialPort", "1050"); ORB orb = ORB.init(args, props); The following code obtains the initial naming context and assigns it to ctx. The second line copies ctx into a dummy object reference, objref, that we will attach to various names and add into the namespace. NamingContext ctx = NamingContextHelper.narrow (orb.resolve_initial_references("NameService")); NamingContext objref = ctx; The following code creates a name "plans" of type "text" and binds it to our dummy object reference. "plans" is then added under the ini- tial naming context using rebind. The rebind method allows us to run this program over and over again without getting the exceptions we would get from using bind. NameComponent nc1 = new NameComponent("plans", "text"); NameComponent[] name1 = {nc1}; ctx.rebind(name1, objref); System.out.println("plans rebind sucessful!"); The following code creates a naming context called "Personal" of type "directory". The resulting object reference, ctx2, is bound to the name and added under the initial naming context. NameComponent nc2 = new NameComponent("Personal", "directory"); NameComponent[] name2 = {nc2}; NamingContext ctx2 = ctx.bind_new_context(name2); System.out.println("new naming context added.."); The remainder of the code binds the dummy object reference using the names "schedule" and "calendar" under the "Personal" naming context (ctx2). NameComponent nc3 = new NameComponent("schedule", "text"); NameComponent[] name3 = {nc3}; ctx2.rebind(name3, objref); System.out.println("schedule rebind sucessful!"); NameComponent nc4 = new NameComponent("calender", "text"); NameComponent[] name4 = {nc4}; ctx2.rebind(name4, objref); System.out.println("calender rebind sucessful!"); } catch (Exception e) { e.printStackTrace(System.err); } } } Sample Client: Browsing the Namespace The following sample program illustrates how to browse the namespace. import java.util.Properties; import org.omg.CORBA.*; import org.omg.CosNaming.*; public class NameClientList { public static void main(String args[]) { try { In the above section, Starting the Java IDL Name Server, the nameserver was started on port 1050. The following code ensures that the client program is aware of this port number. Properties props = new Properties(); props.put("org.omg.CORBA.ORBInitialPort", "1050"); ORB orb = ORB.init(args, props); The following code obtains the initial naming context. NamingContext nc = NamingContextHelper.narrow (orb.resolve_initial_references("NameService")); The list method lists the bindings in the naming context. In this case, up to 1000 bindings from the initial naming context will be returned in the BindingListHolder; any remaining bindings are returned in the BindingIteratorHolder. BindingListHolder bl = new BindingListHolder(); BindingIteratorHolder blIt= new BindingIteratorHolder(); nc.list(1000, bl, blIt); The following code gets the array of bindings out of the returned BindingListHolder. If there are no bindings, the program ends. Binding bindings[] = bl.value; if (bindings.length == 0) return; The remainder of the code loops through the bindings and prints the names out. for (int i=0; i < bindings.length; i++) { // get the object reference for each binding org.omg.CORBA.Object obj = nc.resolve (bindings[i].binding_name); String objStr = orb.object_to_string(obj); int lastIx = bindings[i].binding_name.length-1; // check to see if this is a naming context if (bindings[i].binding_type == BindingType.ncontext) { System.out.println ("Context: " + bindings[i].binding_name[lastIx].id); } else { System.out.println ("Object: " + bindings[i].binding_name[lastIx].id); } } } catch (Exception e) { e.printStackTrace(System.err); } } } SEE ALSO
kill(1) 13 June 2000 tnameserv(1)
All times are GMT -4. The time now is 03:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy