scala.sys.process

# ProcessIO

#### final class ProcessIO extends AnyRef

This class is used to control the I/O of every scala.sys.process.Process. The functions used to create it will be called with the process streams once it has been started. It might not be necessary to use `ProcessIO` directly -- scala.sys.process.ProcessBuilder can return the process output to the caller, or use a scala.sys.process.ProcessLogger which avoids direct interaction with a stream. One can even use the factories at `BasicIO` to create a `ProcessIO`, or use its helper methods when creating one's own `ProcessIO`.

When creating a `ProcessIO`, it is important to close all streams when finished, since the JVM might use system resources to capture the process input and output, and will not release them unless the streams are explicitly closed.

`ProcessBuilder` will call `writeInput`, `processOutput` and `processError` in separate threads, and if daemonizeThreads is true, they will all be marked as daemon threads.

Source
  ProcessIO.scala
Note

  Failure to close the passed streams may result in resource leakage.

Linear Supertypes
AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. ProcessIO
2. AnyRef
3. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new ProcessIO(in: (OutputStream) ⇒ Unit, out: (InputStream) ⇒ Unit, err: (InputStream) ⇒ Unit)

2. #### new ProcessIO(writeInput: (OutputStream) ⇒ Unit, processOutput: (InputStream) ⇒ Unit, processError: (InputStream) ⇒ Unit, daemonizeThreads: Boolean)

   writeInput

     Function that will be called with the `OutputStream` to which all input to the process must be written. This will be called in a newly spawned thread.

   processOutput

     Function that will be called with the `InputStream` from which all normal output of the process must be read from. This will be called in a newly spawned thread.

   processError

     Function that will be called with the `InputStream` from which all error output of the process must be read from. This will be called in a newly spawned thread.

   daemonizeThreads

     Indicates whether the newly spawned threads that will run `processOutput`, `processError` and `writeInput` should be marked as daemon threads.

### Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from ProcessIO to any2stringadd[ProcessIO] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (ProcessIO, B)

   Implicit information
     This member is added by an implicit conversion from ProcessIO to ArrowAssoc[ProcessIO] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

7. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

8. #### val daemonizeThreads: Boolean

   Indicates whether the newly spawned threads that will run `processOutput`, `processError` and `writeInput` should be marked as daemon threads.

9. #### def daemonized(): ProcessIO

   Creates a new `ProcessIO`, with `daemonizeThreads` true.

10. #### def ensuring(cond: (ProcessIO) ⇒ Boolean, msg: ⇒ Any): ProcessIO

    Implicit information
      This member is added by an implicit conversion from ProcessIO to Ensuring[ProcessIO] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: (ProcessIO) ⇒ Boolean): ProcessIO

    Implicit information
      This member is added by an implicit conversion from ProcessIO to Ensuring[ProcessIO] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### def ensuring(cond: Boolean, msg: ⇒ Any): ProcessIO

    Implicit information
      This member is added by an implicit conversion from ProcessIO to Ensuring[ProcessIO] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

13. #### def ensuring(cond: Boolean): ProcessIO

    Implicit information
      This member is added by an implicit conversion from ProcessIO to Ensuring[ProcessIO] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

14. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

15. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

16. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

17. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from ProcessIO to StringFormat[ProcessIO] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

18. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

19. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

20. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

21. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

22. #### final def notify(): Unit

    Definition Classes
      AnyRef

23. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

24. #### val processError: (InputStream) ⇒ Unit

    Function that will be called with the `InputStream` from which all error output of the process must be read from.

    Function that will be called with the `InputStream` from which all error output of the process must be read from. This will be called in a newly spawned thread.

25. #### val processOutput: (InputStream) ⇒ Unit

    Function that will be called with the `InputStream` from which all normal output of the process must be read from.

    Function that will be called with the `InputStream` from which all normal output of the process must be read from. This will be called in a newly spawned thread.

26. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

27. #### def toString(): String

    Definition Classes
      AnyRef → Any

28. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

29. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

30. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

31. #### def withError(process: (InputStream) ⇒ Unit): ProcessIO

    Creates a new `ProcessIO` with a different handler for the error output.

32. #### def withInput(write: (OutputStream) ⇒ Unit): ProcessIO

    Creates a new `ProcessIO` with a different handler for the process input.

33. #### def withOutput(process: (InputStream) ⇒ Unit): ProcessIO

    Creates a new `ProcessIO` with a different handler for the normal output.

34. #### val writeInput: (OutputStream) ⇒ Unit

    Function that will be called with the `OutputStream` to which all input to the process must be written.

    Function that will be called with the `OutputStream` to which all input to the process must be written. This will be called in a newly spawned thread.

35. #### def →[B](y: B): (ProcessIO, B)

    Implicit information
      This member is added by an implicit conversion from ProcessIO to ArrowAssoc[ProcessIO] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from ProcessIO to any2stringadd[ProcessIO]

### Inherited by implicit conversion StringFormat from ProcessIO to StringFormat[ProcessIO]

### Inherited by implicit conversion Ensuring from ProcessIO to Ensuring[ProcessIO]

### Inherited by implicit conversion ArrowAssoc from ProcessIO to ArrowAssoc[ProcessIO]

### Ungrouped