Spec-Zone.ru › Dart 2

dart:io

Метод run

Future<ProcessResult> run(
  1. String executable,
  2. List<String> arguments,
  3. {String? workingDirectory,
  4. Map<String, String>? environment,
  5. bool includeParentEnvironment = true,
  6. bool runInShell = false,
  7. Encoding? stdoutEncoding = systemEncoding,
  8. Encoding? stderrEncoding = systemEncoding}
)

Запускает процесс и выполняет его без взаимодействия до завершения. Запущенный процесс executable с указанными arguments.

Используйте workingDirectory для установки каталога для работы процесса. Обратите внимание, что изменение каталога происходит до запуска процесса на некоторых платформах, что может повлиять при использовании относительных путей для исполняемого файла и аргументов.

Используйте environment для установки переменных среды для процесса. Если не установлено, среда родительского процесса наследуется. В настоящее время поддерживаются только переменные среды US-ASCII, и ошибки могут возникнуть, если передана переменная среды с кодовыми точками вне диапазона US-ASCII.

Если includeParentEnvironment равно true, среда процесса будет включать среду родительского процесса, с environment имеющим приоритет. По умолчанию true.

Если runInShell равно true, процесс будет запущен через системную оболочку. В Linux и OS X используется /bin/sh, а в Windows используется %WINDIR%\system32\cmd.exe.

Кодировка, используемая для декодирования stdout и stderr в текст, управляется через stdoutEncoding и stderrEncoding. По умолчанию используется кодировка systemEncoding. Если используется null, декодирования не произойдёт, и ProcessResult будет содержать двоичные данные.

Возвращает Future<ProcessResult>, который завершается с результатом выполнения процесса, т.е. кодом выхода, стандартным выводом и стандартным вводом.

Следующий код использует Process.run для поиска main в файле test.dart в Linux.

var result = await Process.run('grep', ['-i', 'main', 'test.dart']);
stdout.write(result.stdout);
stderr.write(result.stderr);

Реализация

external static Future<ProcessResult> run(
    String executable, List<String> arguments,
    {String? workingDirectory,
    Map<String, String>? environment,
    bool includeParentEnvironment = true,
    bool runInShell = false,
    Encoding? stdoutEncoding = systemEncoding,
    Encoding? stderrEncoding = systemEncoding});

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-io/Process/run.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API