"API for running native commands in a child process.
 Clients simply create `Process`es using the
 `createProcess()` method. The new process starts
 executing immediately.
   
     Process process = createProcess { 
         command = \"ls\";
         arguments = [\"-l\"];
         path = home;
     };
   
 By default, the standard input, output, and error 
 streams of the new child process are piped to and
 from the current process by exposing a `Writer` and
 `Reader`s.
   
     if (is Reader reader = process.output) {
         while (exists line = reader.readLine()) {
             print(line);
         }
     }
   
 The standard input, output, and error streams may be
 redirected by specifying an `Input` or `Output` to
 `createProcess()`.
   
     Process process = createProcess {
         command = \"ls\";
         arguments = [\"-l\"];
         path = home;
         output = OverwriteFileOutput {
             path = home.childPath(\"out.txt\");
         };
         error = AppendFileOutput {
             path = home.childPath(\"err.txt\");
         };
     };
   
 The objects `currentInput`, `currentOutput`, and 
 `currentError` allow the standard input, output, and 
 error streams to be redirected to the standard input, 
 output, and error streams of the current virtual
 machine process.
   
     Process process = createProcess {
         command = \"ls\";
         arguments = [\"-l\"];
         path = home;
         output = currentOutput;
         error = currentError;
     };
   
 To wait for the child process to terminate, call
 the `waitForExit()` method of `Process`."
by("Gavin King")
native("jvm")
module ceylon.process maven:"org.ceylon-lang" "1.3.3" {
    shared import ceylon.file "1.3.3";
    import java.base "7";
}