Функция start класса Process
Функция start класса Process запускает
новый процесс и возвращает объект Process.
В первом параметре мы передаем исполняемую команду,
во втором - список аргументов командной строки,
в третьем - необязательные параметры запуска.
Функция является асинхронной и возвращает
Future с объектом процесса.
Синтаксис
Process.start(command, [args, options])
Пример
Давайте запустим процесс echo с одним
аргументом и выведем результат его работы:
import 'dart:io';
void main() async
{
Process proc = await Process.start('echo', ['abcde']);
String res = await proc.stdout.transform(SystemEncoding().decoder).join();
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте запустим процесс и дождемся его завершения,
получив код выхода через свойство exitCode:
import 'dart:io';
void main() async
{
Process proc = await Process.start('echo', ['12345']);
await proc.stdout.drain();
int res = await proc.exitCode;
print(res);
}
Результат выполнения кода:
0
Пример
Давайте запустим процесс с указанием рабочей директории через параметры запуска:
import 'dart:io';
void main() async
{
Process proc = await Process.start(
'pwd',
[],
workingDirectory: '/tmp'
);
String res = await proc.stdout.transform(SystemEncoding().decoder).join();
print(res);
}
Результат выполнения кода:
"/tmp"