Исходный код вики System. Diagnostics. Process
Редактировал(а) Alexandr Fokin 2023/05/07 13:08
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
1.3 | 1 | Process.start: how to get the output? |
| 2 | https://stackoverflow.com/questions/4291912/process-start-how-to-get-the-output | ||
| |
2.1 | 3 | |
| |
3.1 | 4 | EXECUTE A BASH SCRIPT VIA C#/.NET CORE |
| 5 | https://jackma.com/2019/04/20/execute-a-bash-script-via-c-net-core/ | ||
| 6 | |||
| |
2.1 | 7 | ---- |
| 8 | |||
| |
3.4 | 9 | |(% style="width:129px" %)Template|(% style="width:1393px" %){{code language="c#"}}ProcessStartInfo info = new ProcessStartInfo(); |
| |
2.1 | 10 | // fill info ... |
| |
2.2 | 11 | info.RedirectStandardOutput = true; |
| 12 | info.RedirectStandardError = true; | ||
| |
2.1 | 13 | |
| 14 | //token.ThrowIfCancellationRequested(); | ||
| |
2.3 | 15 | using Process process = Process.Start(info); |
| |
2.1 | 16 | try |
| 17 | { | ||
| 18 | await process.WaitForExitAsync(token); | ||
| 19 | } | ||
| 20 | catch (OperationCanceledException) | ||
| 21 | { | ||
| 22 | process.Kill(true); | ||
| 23 | await process.WaitForExitAsync(); | ||
| 24 | throw; | ||
| 25 | } | ||
| 26 | |||
| 27 | var outputString = await process.StandardOutput.ReadToEndAsync(); | ||
| 28 | var errorString = await process.StandardError.ReadToEndAsync(); | ||
| 29 | |||
| 30 | if (process.ExitCode == 0) | ||
| 31 | { | ||
| 32 | //Successe | ||
| 33 | } | ||
| 34 | else | ||
| 35 | { | ||
| 36 | //Error | ||
| |
3.4 | 37 | }{{/code}} |
| 38 | |(% style="width:129px" %)Arguments (args)|(% style="width:1393px" %)[[Command Line Arguments Parser>>doc:Разработка.NET.Библиотеки.Документы.Форматы данных и схемы.Command Line Arguments Parser.WebHome]] | ||
| 39 | |(% style="width:129px" %) |(% style="width:1393px" %) | ||
| 40 | |||
| 41 | |||
| 42 |