Класс scala.sys.process.ProcessIO
final класс ProcessIO extends AnyRef
Конструкторы экземпляров
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
копия объекта получателя.
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 и нелокальными возвратами и исключениями, зависят от платформы.
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]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def hashCode(): Int
Метод hashCode для типов ссылок. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
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
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
Этот класс используется для управления вводом-выводом каждого процесса scala.sys.process.Process. Функции, используемые для его создания, будут вызываться с потоками процесса после его запуска. Возможно, использование
ProcessIOнапрямую не требуется -- scala.sys.process.ProcessBuilder может возвращать результат процесса вызывающей стороне, или использовать scala.sys.process.ProcessLogger, что избегает прямого взаимодействия с потоком. Можно даже использовать фабрики вBasicIOдля созданияProcessIO, или использовать его вспомогательные методы при создании собственногоProcessIO.При создании
ProcessIO, важно закрыть все потоки по окончании работы, так как JVM может использовать системные ресурсы для захвата входных и выходных данных процесса и не освободит их, пока потоки не будут явно закрыты.ProcessBuilderвызоветwriteInput,processOutputиprocessErrorв отдельных потоках, и если daemonizeThreads имеет значение true, они все будут помечены как демонические потоки.Отсутствие закрытия переданных потоков может привести к утечке ресурсов.