Проблема с памятью при запуске процессов из службы Windows, написанной на C # - PullRequest
0 голосов
/ 21 февраля 2019

Ошибка памяти при запуске процессов из службы Windows, написанной на C #: я пытаюсь запустить некоторые процессы, используя следующие строки:

    for (int i = 0; i < runParamaters.Count; i++)
        {
            ProcessStartInfo pe = new ProcessStartInfo(runParamaters[i].command, runParamaters[i].parameters);
                pe.WorkingDirectory = runParamaters[i].folder;
                System.Diagnostics.Process.Start(pe);
 }

Во время выполнения этого цикла из командной строки exe или winform exe,это работает отлично.Но запустив его из службы (в функции «Пуск») - некоторые процессы не смогли выделить память и не сработали.

Есть идеи, почему и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

Проблема в том, что ОС выделяет меньше памяти для служб.Решением было отредактировать ключ HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ SubSystems \ Windows, используя regedit, чтобы установить больше кучи.Большое спасибо spodger.

0 голосов
/ 21 февраля 2019

Не уверен, какую программу вы пытаетесь запустить, но я бы попробовал это:

pe.CreateNoWindow = false;
pe.UseShellExecute = false;
...