Как выполнить команду оболочки Ubuntu в C #, чтобы получить exitCode как 0 - PullRequest
0 голосов
/ 09 сентября 2018

Я запускаю команду оболочки Ubuntu через код C #, когда я запускаю этот скрипт в Ubuntu, он отображается как «Синтаксис ОК», но когда я запускаю его через код C #, он всегда возвращает exitCode - 1. Пожалуйста, исправьте мой код, если что-то неправильно .

            string _exitCode="";
            Process proc = new Process();
            proc.StartInfo.FileName = "/bin/bash"; 

            proc.StartInfo.Arguments ="-c \" apachectl -t -f /etc/apache2/sites-enabled/example.conf \""; 

            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;

            proc.Start();

            proc.BeginOutputReadLine();

            proc.StandardError.ReadToEndAsync();

            proc.WaitForExit(3000);

            if (!proc.HasExited)
                proc.Kill();

            _exitCode = proc.ExitCode.ToString();

1 Ответ

0 голосов
/ 17 сентября 2018

чтобы исправить команду:

"-c \"/etc/init.d/apachectl -t -f /etc/apache2/sites-enabled/example.conf 2>&1\"";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...