Skip to content

Процесс / Process

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

Свойства

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

  • Чтение: Да
  • Запись: Нет

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

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

  • Чтение: Да
  • Запись: Нет

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

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

  • Чтение: Да
  • Запись: Нет

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

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

  • Чтение: Да
  • Запись: Нет

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

Завершен / HasExited

  • Чтение: Да
  • Запись: Нет

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

Пример

bsl
// Пример правильной обработки цикла ожидания завершения процесса:
// Процесс не завершается, пока любой из потоков (stdout, stderr) открыт для чтения.
// Процесс висит и ждет, пока его освободят от текста в обоих потоках.
Пока НЕ Процесс.Завершен ИЛИ Процесс.ПотокВывода.ЕстьДанные ИЛИ Процесс.ПотокОшибок.ЕстьДанные Цикл
    Если ПериодОпросаВМиллисекундах <> 0 Тогда
        Приостановить(ПериодОпросаВМиллисекундах);
    КонецЕсли;
    ОчереднаяСтрокаВывода = Процесс.ПотокВывода.Прочитать();
    ОчереднаяСтрокаОшибок = Процесс.ПотокОшибок.Прочитать();
    Если Не ПустаяСтрока(ОчереднаяСтрокаВывода) Тогда
        Сообщить(ОчереднаяСтрокаВывода, СтатусСообщения.Информация);
    КонецЕсли;
    Если Не ПустаяСтрока(ОчереднаяСтрокаОшибок) Тогда
        Сообщить(ОчереднаяСтрокаОшибок, СтатусСообщения.Важное);
    КонецЕсли;
КонецЦикла;

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

  • Чтение: Да
  • Запись: Нет

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

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

  • Чтение: Да
  • Запись: Нет

PID процесса

Имя / Name

  • Чтение: Да
  • Запись: Нет

Методы

Запустить / Start

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

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

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

Параметры

  • timeout: Число. Таймаут в миллисекундах. Необязательный.

Возвращаемое значение

Булево. Ложь, если таймаут истек.

Завершить / Stop