Функция runSync
Функция runSync класса Process синхронно
запускает внешний процесс и возвращает объект
ProcessResult с результатами выполнения. В первом
параметре мы передаем путь к исполняемому файлу,
во втором - список аргументов командной строки,
в третьем - необязательные параметры запуска,
такие как рабочая директория или переменные окружения.
В отличие от асинхронного метода run, выполнение
кода блокируется до завершения процесса.
Синтаксис
Process.runSync(executable, arguments, [options])
Пример
Давайте запустим команду echo и выведем
её стандартный поток вывода:
import 'dart:io';
void main()
{
ProcessResult res = Process.runSync('echo', ['abcde']);
print(res.stdout);
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверим код возврата процесса. Если
команда завершилась успешно, exitCode будет
равен нулю:
import 'dart:io';
void main()
{
ProcessResult res = Process.runSync('echo', ['12345']);
print(res.exitCode);
}
Результат выполнения кода:
0
Пример
Давайте передадим рабочую директорию через
параметр workingDirectory и выполним команду:
import 'dart:io';
void main()
{
ProcessResult res = Process.runSync(
'echo',
['abcde'],
workingDirectory: Directory.current.path,
);
print(res.stdout);
}
Результат выполнения кода:
"abcde"