![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Политики и процессы |
|
C/C++ - [решено] Политики и процессы
|
Пользователь Сообщения: 52 |
Добрый день господа, возникла проблемка: Необходимо чарез политику запускать процесс время выполнения которого занимает довольно значительное время(3мин). Ожидать и смотреть на заставку "выполнение скриптов запуска" вариант неприемлимый. Я написал прогу которая запускает етот процесс и сразу выходит. При проверке оказалось что винда прибивает все дочерние процессы запущенные основным после завершения основного процесса.
Как бы мне ето обойти? |
|
Отправлено: 15:50, 28-04-2010 |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать А как запускаешь процесс? И что он делает?
|
Отправлено: 16:20, 28-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start the child process. AfxMessageBox("Before start process"); if( CreateProcess( NULL, // No module name (use command line) "\\\\someshare\\somefile", // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE, // Set handle inheritance to FALSE 0, // No creation flags NULL, // Use parent's environment block NULL, // Use parent's starting directory &si, // Pointer to STARTUPINFO structure &pi ) // Pointer to PROCESS_INFORMATION structure ) ............ Собственно из-за обращений к wmi пришлось вставить задержку на 2-е минуты в код, т.к. иногда служба не успевает поднятся до запуска приложения(есть очень старые компы по 256 оперативы 1Гц проц и на етом както живет антивирь СМС и т.п.). |
Отправлено: 16:38, 28-04-2010 | #3 |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать 6-ой параметр этой функции, попробуй там указать DETACHED_PROCESS если не поможет этот, попробуй поиграться с другими флагами
|
Отправлено: 17:08, 28-04-2010 | #4 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать detach непомог завтра буду играцца с другими, большое спасибо.
|
|
Отправлено: 17:52, 28-04-2010 | #5 |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать Обрати внимание и на другие входящие параметры этой функции. Потом расскажешь - самому интересно.
|
Отправлено: 18:15, 28-04-2010 | #6 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать C другими параметрами не игрался уж слишком их много
![]() "Акес денаед" ![]() Видимо все процессы входящие в job прибиваются после выхода из родителя ![]() Как обойти не представляю, использовать sheduler както по детски , да и кто даст гарантию что он на всех машинах работает ![]() |
Отправлено: 13:07, 29-04-2010 | #7 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Появилась идея находу поменять job SetInformationJobObject дабы выставить флаг JOB_OBJECT_LIMIT_BREAKAWAY_OK
Проблема которую никак не могу решить где взять lpName job-а к которому принадлежит текущий процесс для передачи в OpenJobObject. |
Отправлено: 15:00, 29-04-2010 | #8 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать По результату пришлось находу внедрять dll в winlogon, дабы изменить настройки job-обьекта. Сам джоб обьект искал перечислением всех обьектов: http://forum.sysinternals.com/howto-...opic18892.html
|
Отправлено: 16:35, 03-06-2010 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Процессы | kop4enyi | Хочу все знать | 4 | 12-10-2006 12:29 | |
процессы | bezumes | Хочу все знать | 5 | 10-03-2006 06:11 | |
Процессы | Forrest Gump | Хочу все знать | 4 | 04-02-2005 14:40 | |
Процессы | Crowner | Microsoft Windows 2000/XP | 6 | 02-10-2004 07:39 | |
Процессы в XP | MaxR | Microsoft Windows 2000/XP | 8 | 10-10-2002 03:40 |
|