Сейчас на форуме: zds (+6 невидимых) |
eXeL@B —› Программирование —› There are no child processes to wait for. (0x80) - exit code 128 (0x80) |
Посл.ответ | Сообщение |
|
Создано: 08 сентября 2012 22:11 · Личное сообщение · #1 Люди, есть проблема, решить которую не могу уже на протяжении года. Суть следующая: Есть сервис, работающий на W2K3 сервере х32. Сервис многопоточный. Каждый поток создаваясь, запускает кучу приложений через CreateProcessA, многие из которых консольные. Читал, что в случае преждевременного завершения таких приложений происходит истощение кучи рабочего стола, которое в свою очередь как раз и приводит к ошибкам такого характера. Но вот ответа на вопрос как избежать этой ситуации я не нашел. Может есть у кого какие мысли по этому поводу. Буду очень признателен. ----- бессмысленные манипуляции не становятся более разумными если их повторять |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 09 сентября 2012 09:50 · Личное сообщение · #2 |
|
Создано: 09 сентября 2012 14:25 · Личное сообщение · #3 |
|
Создано: 10 сентября 2012 08:26 · Поправил: SecurAdmin · Личное сообщение · #4 Код вот: Code:
----- бессмысленные манипуляции не становятся более разумными если их повторять |
|
Создано: 10 сентября 2012 10:30 · Личное сообщение · #5 128 - Дочерние процессы, окончания которых требуется ожидать, отсутствуют. Суть ошибки в указанном месте не совсем мне ясна. Как я понимаю закрывать хэндл основного потока не обязательно, достаточно закрыть хэндл процесса. Для TerminateProcess хэндл должен обладать правами PROCESS_TERMINATE. Если aAsync, хэндл процесса вообще не закрывается. ----- Следуй за белым кроликом |
|
Создано: 10 сентября 2012 13:13 · Личное сообщение · #6 neomant Не спорю, просто я уже не знаю, на что думать. В каком случае и при каких обстоятельствах эта ошибка вообще возникает. Куда деваются дочки, завершение работы которых ожидает поток сервиса? Почему он теряет их? как избежать этой проблемы? Сейчас единственной полумерой считаю увеличение размера кучи рабочего стола. Но хочется решить эту проблему на корню! ----- бессмысленные манипуляции не становятся более разумными если их повторять |
|
Создано: 10 сентября 2012 14:34 · Поправил: F_a_u_s_t · Личное сообщение · #7 Code:
Почисти проект от "рабочего" кода и выложи, так проще будет. |
|
Создано: 12 сентября 2012 20:36 · Личное сообщение · #8 |
eXeL@B —› Программирование —› There are no child processes to wait for. (0x80) - exit code 128 (0x80) |