Недавно я разрабатывал приложение на C # и использую Mono для запуска его на Linux, я специально тестирую на Debian 6.
Через 2-8 часов приложение продолжает показывать предупреждение, то есть CreateProcess: ошибка создания дескриптора процесса.Это предупреждение было опубликовано ранее в нескольких списках рассылки mono, включая mono-devel и mono-bugs, одна конкретная запись в списке mono-devel - http://mono.1490590.n4.nabble.com/Mono-CreateProcess-error-td1525870.html, а в некоторых других местах упоминается предупреждение.
Мое приложение создает не менее 10 процессов в минуту, которые обычно выполняются менее чем за секунду / полсекунды, и я также вызывал process.WaitForExit () и process.Dispose (), чтобы попытаться помочь обойти ошибку, как это предлагается в других электронных письмах.и, как я видел в Google, но, к сожалению, это не помогло.
Когда происходит ошибка, это приводит к тому, что будущие процессы не создаются.
Мне было интересно, есть ли у кого-нибудь потенциалРешения, это происходит как на 2.10.2, так и на 2.10.6.
Я видел этот тест / пример здесь:
http://lists.ximian.com/pipermail/mono-bugs/2009-September/092261.html
Я вставил его сюдадля простоты использования:
System.Diagnostics.Process[] processes = new System.Diagnostics.Process[4096];
for (int i = 0; i < 4096; i++)
{
Console.WriteLine("Starting: " + i.ToString());
processes[i] = new System.Diagnostics.Process();
processes[i].StartInfo.FileName ="echo";
processes[i].StartInfo.Arguments = "\"hello mono \";";
processes[i].Start();
System.GC.Collect();
System.GC.WaitForPendingFinalizers();
System.Threading.Thread.Sleep(10);
}
Извините, что повторно задавал этот вопрос, если он был задан, но я еще не нашел работающего решения.
Спасибо!