Класс Process
Класс Process позволяет запускать внешние
процессы операционной системы и управлять
ими. С его помощью можно запускать программы,
читать их вывод, передавать данные на вход
и получать код завершения. Класс предоставляет
как асинхронные, так и синхронные методы
запуска процессов.
Синтаксис
Process.start(executable, arguments, [options])
Process.run(executable, arguments, [options])
Process.runSync(executable, arguments, [options])
Пример
Давайте запустим процесс echo и выведем
его результат:
import 'dart:io';
void main() async
{
ProcessResult res = await Process.run('echo', ['abcde']);
print(res.stdout);
}
Результат выполнения кода:
"abcde"
Пример
Давайте запустим процесс синхронно и получим код завершения:
import 'dart:io';
void main()
{
ProcessResult res = Process.runSync('echo', ['12345']);
print(res.exitCode);
}
Результат выполнения кода:
0
Пример
Давайте запустим процесс асинхронно и запишем данные в его стандартный ввод:
import 'dart:io';
void main() async
{
Process process = await Process.start('cat', []);
process.stdin.write('abcde');
await process.stdin.close();
await process.stdout.transform(SystemEncoding().decoder).forEach(print);
}
Результат выполнения кода:
"abcde"