water.deploy
Class VM

java.lang.Object
  extended by water.deploy.VM
Direct Known Subclasses:
NodeVM, VM.Watchdog

public abstract class VM
extends java.lang.Object

Executes code in a separate VM.


Nested Class Summary
static class VM.SSH
          A remote JVM, launched over SSH.
static class VM.Watchdog
          A VM whose only job is to wait for its parent to be gone, then kill its child process.
 
Constructor Summary
VM(java.lang.String[] java, java.lang.String[] args)
           
 
Method Summary
static void exitWithParent()
           
 void inheritIO()
           
static void inheritIO(java.lang.Process process, java.lang.String header)
           
 boolean isAlive()
           
 void kill()
           
static void persistIO(java.lang.Process process, java.io.File out, java.io.File err)
           
 void persistIO(java.lang.String out, java.lang.String err)
           
 java.lang.Process process()
           
 void start()
           
 int waitFor()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VM

public VM(java.lang.String[] java,
          java.lang.String[] args)
Method Detail

process

public java.lang.Process process()

inheritIO

public void inheritIO()

persistIO

public void persistIO(java.lang.String out,
                      java.lang.String err)
               throws java.io.IOException
Throws:
java.io.IOException

start

public void start()

isAlive

public boolean isAlive()

waitFor

public int waitFor()

kill

public void kill()

exitWithParent

public static void exitWithParent()

inheritIO

public static void inheritIO(java.lang.Process process,
                             java.lang.String header)

persistIO

public static void persistIO(java.lang.Process process,
                             java.io.File out,
                             java.io.File err)
                      throws java.io.IOException
Throws:
java.io.IOException