Running a subprocess with Dart and reading its output
Starting a foreign program, and reading its standard output stream is useful, and here is an example of listing the root directory.
void main() { Process p = new Process('/bin/ls', ['/']); p.start(); StringInputStream stdoutStream = new StringInputStream(p.stdout); print(stdoutStream.read()); p.close(); }Notes:
- Argument list does not include the executable name like it usually does
- Use a StringInputStream to read an InputStream as a String
- Close the process or the script will hang forever