Java Program to Run and Monitor External Programs or Commands

  • You can run and monitor external programs using Java.
  • These are very useful when your software is dependent on any third-party tool.
  • I used this technique when I needed to write a cd using Java.

In this tutorial we will take a simple example where we will:

1) List the current process from the task manager
2) Play music with Java
3) Run the external program without a console window


package com.cooltrickshome;


public class RunExternalProgram {

	 * @param args
	 * @throws IOException 
	 * @throws InterruptedException 
	public static void main(String[] args) throws InterruptedException, IOException {
		//open and list process from task manager
		String[] commands = {"tasklist.exe"};
		new RunExternalProgram().runProgram(commands);
		//Play song which is at c:\\Program Files\\1.mp3
		String[] commands2 = {"\"c:\\Program Files\\Windows Media Player\\wmplayer.exe\"","\"c:\\Program Files\\1.mp3\""};
		new RunExternalProgram().runProgram(commands2);
		//Run program with hidden console
		String[] commands3 = {"cmd","/c","start","/B","notepad"};
		new RunExternalProgram().runProgram(commands3);

	public void runProgram(String[] program) throws InterruptedException, IOException
		Process proc = Runtime.getRuntime().exec (program);
		InputStream progOutput = proc.getInputStream ();
		InputStreamReader inputReader=new InputStreamReader(progOutput);
		BufferedReader reader = new BufferedReader(inputReader);		
		String line;
		while ((line = reader.readLine()) != null)
		if (0 == proc.waitFor ()) {
		    System.out.println("Process completed successfully");
			System.out.println("Their was some issue while running the program");
Code language: Java (java)

Leave a Comment