Java.lang.ProcessBuilder.redirect ErrorStrestart() Method



The java.lang.ProcessBuilder.start() method starts a new process using the attributes of this process builder. The new process will invoke the command and arguments given by command(), in a working directory as given by directory(), with a process environment as given by environment(). This method checks that the command is a valid operating system command. Which commands are valid is system-dependent, but at the very least the command must be a non-empty list of non-null strings.

If there is a security manager, its checkExec method is called with the first component of this object's command array as its argument. This may result in a SecurityException being thrown.


Following is the declaration for java.lang.ProcessBuilder.start() method

public Process start()


  • NA

Return Value

This method returns a new Process object for managing the subprocess


  • NullPointerException -- If an element of the command list is null

  • IndexOutOfBoundsException -- If the command is an empty list (has size 0)

  • SecurityException -- If a security manager exists and its checkExec method doesn't allow creation of the subprocess

  • IOException -- If an I/O error occurs


The following example shows the usage of lang.ProcessBuilder.start() method.

package com.tutorialspoint;


public class ProcessBuilderDemo {

   public static void main(String[] args) {

   // create a new list of arguments for our process
   String[] list = {"notepad.exe", "test.txt"};

   // create the process builder
   ProcessBuilder pb = new ProcessBuilder(list);
   try {
   // start the subprocess
   System.out.println("Starting the process..");
   } catch (IOException ex) {

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

Starting the process..