ProcessMonitor
Процессы Fork+exec / создаёт дочерний процесс и контролирует его. Уведомляет клиента о событиях STDOUT/STDERR.
actor tag ProcessMonitor
Конструкторы
create
Создаёт инфраструктуру для связи с форкнутым дочерним процессом и регистрации событий asio. Форкует дочерний процесс и уведомляет пользователя о поступающих данных через уведомление.
new tag create( auth: (AmbientAuth val | StartProcessAuth val), backpressure_auth: (AmbientAuth val | ApplyReleaseBackpressureAuth val), notifier: ProcessNotify iso, filepath: FilePath val, args: Array[String val] val, vars: Array[String val] val, wdir: (FilePath val | None val) = reference, process_poll_interval: U64 val = call) : ProcessMonitor tag^
Параметры
- auth: (AmbientAuth val | StartProcessAuth val)
- backpressure_auth: (AmbientAuth val | ApplyReleaseBackpressureAuth val)
- notifier: ProcessNotify iso
- filepath: FilePath val
- args: Array[String val] val
- vars: Array[String val] val
- wdir: (FilePath val | None val) = reference
- process_poll_interval: U64 val = call
Возвращаемое значение
- ProcessMonitor tag^
Публичные методы
Выводит байты и добавляет перевод строки.
be print( data: (String val | Array[U8 val] val))
Параметры
write
Запись в STDIN дочернего процесса.
be write( data: (String val | Array[U8 val] val))
Параметры
printv
Вывод итерируемой коллекции ByteSeqs.
be printv( data: ByteSeqIter val)
Параметры
- data: ByteSeqIter val
writev
Запись итерируемой коллекции ByteSeqs.
be writev( data: ByteSeqIter val)
Параметры
- data: ByteSeqIter val
done_writing
Устанавливает флаг _done_writing в true. Если _pending пуст, можно закрыть _stdin pipe.
be done_writing()
dispose
Завершение дочернего процесса и закрытие всего.
be dispose()
timer_notify
Таймер опроса ввода-вывода Windows сработал.
be timer_notify()
Публичные функции
expect
Вызов stdout на уведомлении должен содержать ровно qty байтов. Если qty равно нулю, вызов может содержать любое количество данных.
fun ref expect( qty: USize val = 0) : None val
Параметры
- qty: USize val = 0
Возвращаемое значение
- None val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/process-ProcessMonitor