processStart function

Future<void> processStart(
  1. String executable, {
  2. required List<String> arguments,
  3. void onStdout(
    1. String data
    )?,
  4. void onStdErrorOut(
    1. String data
    )?,
})

Implementation

Future<void> processStart(
  String executable, {
  required List<String> arguments,
  void Function(String data)? onStdout,
  void Function(String data)? onStdErrorOut,
}) async {
  final process = await Process.start(executable, arguments);

  process.stdout.transform(utf8.decoder).listen(onStdout);
  process.stderr.transform(utf8.decoder).listen(onStdErrorOut);
  final exitCode = await process.exitCode;
  if (exitCode == 0) {
    onStdout?.call('Doned');
  } else {
    onStdErrorOut?.call('error');
  }
}