Есть ли способ программно запустить фоновый (то есть не оконный) исполняемый файл без запуска соответствующего процесса conhost.exe ?
Я попробовал такой код в процессе запуска, который порождает рабочий процесс (ы):
var process = new Process();
process.StartInfo.FileName = executable;
process.StartInfo.Arguments = args;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
Любая помощь будет оценена.
Контекст:
Мы проводим тестирование производительности и нагрузки. Для репликации наших крупных клиентских сред мы арендовали серверную емкость, чтобы позволить нам запускать тысячи виртуальных серверов, но они ограничены в памяти (~ 300-500 МБ памяти на ВМ).
Сценарий заключается в запуске 100 процессов на ВМ. Сочетание исполняемого процесса ~ 1,3 МБ и процесса conhost.exe 4-5 МБ (в обновление ядра Windows Server Standard Edition 1803 ) делает невозможным запуск 100 процессов. Если бы мы могли устранить связанный conhost.exe, у нас был бы шанс.
Примечание: conhost намного меньше в среде Windows 7 (<800 КБ), но мы должны использовать сервер Windows. </p>
Этот же сценарий работает в Linux.