Процесс / Process

Позволяет управлять процессом операционной системы. Получать текст из стандартных потоков, проверять активность, pid, завершать процесс и т.п.

Свойства

КодировкаВывода / OutputEncoding

Доступ: Чтение

Устанавливает кодировку в которой будут считываться стандартные потоки вывода и ошибок.

ПотокВывода / StdOut

Доступ: Чтение

ПотокВыводаТекста. Стандартный поток вывода (stdout) в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:

ПотокОшибок / StdErr

Доступ: Чтение

ПотокВыводаТекста. Стандартный поток вывода ошибок (stderr) в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:

ПотокВвода / StdIn

Доступ: Чтение

ПотокВводаТекста. Стандартный поток ввода (stdin)

Завершен / HasExited

Доступ: Чтение

Флаг указывает, что процесс завершен (или нет)

Пример:

Пример правильной обработки цикла ожидания завершения процесса:
Процесс не завершается, пока любой из потоков (stdout, stderr) открыт для чтения.
Процесс висит и ждет, пока его освободят от текста в обоих потоках.

Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные ИЛИ Процесс.ПотокОшибок.ЕстьДанные Цикл
Если ПериодОпросаВМиллисекундах <> 0 Тогда
Приостановить(ПериодОпросаВМиллисекундах);
КонецЕсли;

ОчереднаяСтрокаВывода = Процесс.ПотокВывода.Прочитать();
ОчереднаяСтрокаОшибок = Процесс.ПотокОшибок.Прочитать();
Если Не ПустаяСтрока(ОчереднаяСтрокаВывода) Тогда
Сообщить(ОчереднаяСтрокаВывода, СтатусСообщения.Информация);
КонецЕсли;

Если Не ПустаяСтрока(ОчереднаяСтрокаОшибок) Тогда
Сообщить(ОчереднаяСтрокаОшибок, СтатусСообщения.Важное);
КонецЕсли;
КонецЦикла;

КодВозврата / ExitCode

Доступ: Чтение

Код возврата завершенного процесса.

Идентификатор / ProcessId

Доступ: Чтение

PID процесса

Методы

Запустить / Start()

Запустить процесс на выполнение. в методе "Завершен" смотрите пример правильной обработки цикла ожидания завершения процесса:

ОжидатьЗавершения / WaitForExit()

Приостановить выполнение скрипта и ожидать завершения процесса.

Завершить / Stop()