Программа для выполнения команды lsnrctl в Windows? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу выполнить команду lsnrctl status программой C # на платформе Windows. Если я запускаю эту программу, чтобы получить результат, она не даст результата.

static void Main(string[] args)
{
    System.Diagnostics.Process process = new System.Diagnostics.Process();

    var startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    // the cmd program
    startInfo.FileName = "cmd.exe";
    // set my arguments. date is just a dummy example. the real work isn't use date.
    startInfo.Arguments = "/c date";
    startInfo.RedirectStandardOutput = true;
    startInfo.UseShellExecute = false;
    process.StartInfo = startInfo;
    process.Start();
    // capture what is generated in command prompt
    var output = process.StandardOutput.ReadToEnd();
    // write output to console
    Console.WriteLine(output);
    process.WaitForExit();

    Console.Read();
}

Как проверить статус прослушивателя на платформе Windows

Подскажите lsnrctl.exe из установленного каталога Windows Oracle. После запуска lsnrctl.exe в системе Windows. Я могу проверить статус слушателя, набрав имя слушателя. LSNRCTL> статус

Это даст статус прослушивателя по умолчанию.

Аналогично, я могу проверить статус любого числа слушателей из статуса, подскажите. Я хочу проверить это на платформе Windows C #.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы были так близко. К сожалению, ваша команда date ждет, когда вы введете новую дату. Если вы измените эту строку следующим образом, ваш код должен работать нормально:

startInfo.Arguments = "/c date /T";  // slash T means: just output the date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...