Java Process Class



Introduction

The Java Process class provides methods for performing input from the process, performing output to the process, waiting for the process to complete, checking the exit status of the process, and destroying (killing) the process.

Class Declaration

Following is the declaration for java.lang.Process class −

public abstract class Process
   extends Object

Class constructors

Sr.No. Constructor & Description
1

Process()

This is the Single Constructor.

Class methods

Sr.No. Method & Description
1 abstract void destroy()

This method kills the subprocess.

2 abstract int exitValue()

This method returns the exit value for the subprocess.

3 abstract InputStream getErrorStream()

This method gets the error stream of the subprocess.

4 abstract InputStream getInputStream()

This method gets the input stream of the subprocess.

5 abstract OutputStream getOutputStream()

This method gets the output stream of the subprocess.

6 abstract int waitFor()

This method causes the current thread to wait, if necessary, until the process represented by this Process object has terminated.

Methods inherited

This class inherits methods from the following classes −

  • java.lang.Object

Destroying a Process Example

The following example shows the usage of Process destroy() method. We've created a Process object for notepad executable. Then we've kept system to wait for 10 seconds and then using destroy() method, notepad process is killed and a message is printed.

package com.tutorialspoint;

public class ProcessDemo {

   public static void main(String[] args) {
      try {
         // create a new process
         System.out.println("Creating Process...");
         Process p = Runtime.getRuntime().exec("notepad.exe");

         // wait 10 seconds
         System.out.println("Waiting...");
         Thread.sleep(10000);

         // kill the process
         p.destroy();
         System.out.println("Process destroyed.");

      } catch (Exception ex) {
         ex.printStackTrace();
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Creating Process...
Waiting...
Process destroyed.
Advertisements