запустить linux исполняемый файл в c# с параметрами - PullRequest
0 голосов
/ 04 августа 2020

Мне нужно запустить файл linux без расширения с параметрами времени выполнения в c#, я хотел бы знать, можете ли вы сделать это напрямую с помощью какой-либо функции, или вам нужно написать сценарий времени выполнения bash в -code.

пример:

run c: / app -port = (изменение переменной порта в коде)

1 Ответ

1 голос
/ 04 августа 2020

Это типичный способ запустить приложение терминала с аргументами, дождаться его завершения sh, а затем вывести то, что оно отправило, на стандартный вывод.

using(var p = Process.Start(new ProcessStartInfo
{
    FileName = "/bin/ls", // File to execute
    Arguments = "~/Documents", // arguments to use
    UseShellExecute = false, // use process creation semantics
    RedirectStandardOutput = true, // redirect standard output to this Process object
    CreateNoWindow = true, // if this is a terminal app, don't show it
    WindowStyle = ProcessWindowStyle.Hidden // if this is a terminal app, don't show it
})
{
    // Wait for the process to finish executing
    p.WaitForExit();
    // display what the process output
    Console.WriteLine(p.StandardOutput.ReadToEnd());
}
...