Запустить команды Bash в C# .net Core из приложения FounalLinux

Ответить
Anonymous
 Запустить команды Bash в C# .net Core из приложения Founal

Сообщение Anonymous »

Наше приложение состоит из службы, которая запускается на хосте Linux, в частности, в приложении yocto linux встроенное изображение. Реализация: < /p>
public static Result RunCommand(string command, bool wait = true)
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return new Result() { ResultObject = "done" };

Result result = new Result();
using (Process proc = new())
{
proc.StartInfo.FileName = "/bin/bash";
proc.StartInfo.Arguments = "-c \" " + command + " \"";
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;

proc.Start();

proc.OutputDataReceived += Proc_OutputDataReceived;

result.ResultObject = proc.StandardOutput.ReadToEnd();
var error = proc.StandardError.ReadToEnd();
if (!string.IsNullOrWhiteSpace(error))
{
result.HasError = true;
result.ErrorMessage = error;
result.ResultCode = Enums.ResultCode.UnspecifiedError;
}
if (wait)
proc.WaitForExit();
proc.OutputDataReceived -= Proc_OutputDataReceived;
}
return result;
}
< /code>
Теперь проблема. Если я обращаюсь к приложению напрямую, например. Я предполагаю, что это связано с перенаправлением вывода, но у меня недостаточно знаний, и я знаю, где посмотреть, чтобы исправить это ...

Подробнее здесь: https://stackoverflow.com/questions/795 ... ground-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»