Spec-Zone.ru › Scala 2.13 Library

Класс scala.sys.process.ProcessIO

final класс ProcessIO extends AnyRef

Этот класс используется для управления вводом-выводом каждого процесса scala.sys.process.Process. Функции, используемые для его создания, будут вызываться с потоками процесса после его запуска. Возможно, использование ProcessIO напрямую не требуется -- scala.sys.process.ProcessBuilder может возвращать результат процесса вызывающей стороне, или использовать scala.sys.process.ProcessLogger, что избегает прямого взаимодействия с потоком. Можно даже использовать фабрики в BasicIO для создания ProcessIO, или использовать его вспомогательные методы при создании собственного ProcessIO.

При создании ProcessIO, важно закрыть все потоки по окончании работы, так как JVM может использовать системные ресурсы для захвата входных и выходных данных процесса и не освободит их, пока потоки не будут явно закрыты.

ProcessBuilder вызовет writeInput, processOutput и processError в отдельных потоках, и если daemonizeThreads имеет значение true, они все будут помечены как демонические потоки.

Source
ProcessIO.scala
Note

Отсутствие закрытия переданных потоков может привести к утечке ресурсов.

Линейные надтипы
AnyRef, Any

Конструкторы экземпляров

new ProcessIO(in: (OutputStream) => Unit, out: (InputStream) => Unit, err: (InputStream) => Unit)

new ProcessIO(writeInput: (OutputStream) => Unit, processOutput: (InputStream) => Unit, processError: (InputStream) => Unit, daemonizeThreads: Boolean)

writeInput

Функция, которая будет вызываться с OutputStream, в который должен записываться весь ввод в процесс. Она будет вызвана в новом потоке.

processOutput

Функция, которая будет вызываться с InputStream, из которого должен читаться весь стандартный вывод процесса. Она будет вызвана в новом потоке.

processError

Функция, которая будет вызываться с InputStream, из которого должен читаться весь вывод ошибок процесса. Она будет вызвана в новом потоке.

daemonizeThreads

Указывает, должны ли вновь созданные потоки, которые будут выполнять processOutput, processError и writeInput, быть помечены как демонические потоки.

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждого из них. Для null возвращает код хэша, где null.hashCode выбрасывает NullPointerException.

returns

значение хэша, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вany2stringadd[ProcessIO] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

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

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вArrowAssoc[ProcessIO] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект получателя эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

Привести объект получателя к типу T0.

Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, тогда как выражение List(1).asInstanceOf[List[String]] не выбросит исключения. В последнем примере, поскольку тип аргумента стирается во время компиляции, проверить, содержатся ли элементы списка в требуемом типе, невозможно.

returns

объект получателя.

Definition Classes
Any
Исключения

ClassCastException, если объект получателя не является экземпляром стирания типа T0.

def clone(): AnyRef

Создать копию объекта получателя.

По умолчанию реализация метода clone зависит от платформы.

returns

копия объекта получателя.

Атрибуты
protected[java.lang]
Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано SLS как член AnyRef

val daemonizeThreads: Boolean

def daemonized(): ProcessIO

def ensuring(cond: (ProcessIO) => Boolean, msg: => Any): ProcessIO

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вEnsuring[ProcessIO] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (ProcessIO) => Boolean): ProcessIO

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вEnsuring[ProcessIO] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean, msg: => Any): ProcessIO

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вEnsuring[ProcessIO] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): ProcessIO

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вEnsuring[ProcessIO] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности отношение эквивалентности на не-нулевых экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-нулевых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хеш-кода (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Классы определений
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для типов ссылок. По умолчанию делегирует вызов методу eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определений
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Классы определений
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны строкам String.format (@see java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из ProcessIO вStringFormat[ProcessIO] с помощью метода StringFormat в scala.Predef.
Классы определений
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Классы определений
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для типов ссылок. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Классы определений
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки зависит от семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается при компиляции, невозможно проверить, относятся ли элементы списка к указанному типу.

возвращает

true если объект-получатель является экземпляром стираемого типа T0; false в противном случае.

Классы-определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

final def notify(): Unit

Разбуждает единственную нить, ожидающую монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуждает все нити, ожидающие монитора объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

val processError: (InputStream) => Unit

val processOutput: (InputStream) => Unit

final def synchronized[T0](arg0: => T0): T0

Классы-определения
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы-определения
AnyRef → Any

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

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

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

def withError(process: (InputStream) => Unit): ProcessIO

def withInput(write: (OutputStream) => Unit): ProcessIO

def withOutput(process: (InputStream) => Unit): ProcessIO

val writeInput: (OutputStream) => Unit

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/sys/process/ProcessIO.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API