Стд::СредаИсполнения::ПроцессОс
Объект для работы с внешними процессами.
- Объект
ПроцессОС
запускает процесс, а не выполняет команды ОС.
Например, в Windows для получения листинга директорий или выполнения команд (dir
/ mkdir
/ cp
и т.д.)
с помощью консоли (cmd.exe
) или интерпретатора (powershell.exe
) используется следующий синтаксис:
пер Про цесс = новый ПроцессОс("cmd.exe", ["/c", "copy " + "C:\\example.txt" + " " + "D:\\example.txt"])
Для Linux:
пер Процесс = новый Проц ессОс("cmd.exe", ["/c", "copy " + "~/Documents/example.txt" + " " + "~/Backup/example.txt"])
- При возникновении проблем с кодировкой обратите внимание на следующий пример:
метод ПолучитьВерсиюИсполнителя(): Строка
пер Процесс = новый ПроцессОс("cmd.exe", ["/c", "executor.cmd -v"])
Процесс.Запустить()
возврат Процесс.ПолучитьПотокВывода().ПрочитатьКакСтроку("cp866")
;
==
- Для запуска программ из
PATH
:
метод ПолучитьВерсиюJavaИMaven()
пер Процесс1 = новый ПроцессОс("java", ["--version"])
Процесс1.Запустить()
пер Процесс2 = новый ПроцессОс("mvn.cmd", ["-v"])
Процесс2.Запустить()
;
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
Конструкторы
ПроцессОс
ПроцессОс(
Команда: Строка,
СоединитьПотокиОшибокИВывода: Булево = Истина)
Создает процесс с указанной командой запуска
Команда
и признаком объединения потоков вывода и ошибок
СоединитьПотокиОшибокИВывода
.
Созданный процесс не запускается.
Перегрузка
ПроцессОс(Команда: Строка, Аргументы: ЧитаемыйМассив<Объект>, СоединитьПотокиОшибокИВывода: Булево = Истина)
ПроцессОс
Создает процесс с указанной командой запуска
Команда
, аргументами
Аргументы
и признаком объединения потоков вывода и ошибок
СоединитьПотокиОшибокИВывода
.
Созданный процесс не запускается.
Перегрузка
ПроцессОс(Команда: Строка, СоединитьПотокиОшибокИВывода: Булево = Истина)
Свойства
ПотокиОшибокИВыводаСоединены
ТолькоЧтение
ПотокиОшибокИВыводаСоединены: Булево
Определяет, соединены ли потоки ошибок и вывода:
Истина
- ошибки пишутся в поток вывода.
Ложь
- ошибки пишутся в поток ошибок.
Методы
Живой
Проверяет, жив ли запущенный процесс.
Запустить
Запустить(Каталог: Строка? = Неопределено)
Запускает созданный процесс или конвейер процессов.
Каталог
- рабочий каталог запускаемого и дочерних процессов.
ОжидатьЗавершения