Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Замещение родительского процесса дочерним 
V
    Опции темы
alexx83
Дата 23.12.2012, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



У boostcoder точно также работает как и у меня)) Volatile если есть возможность то вы попробуйте запустить ваши экзешники на компе без VisualStudio.
PM MAIL   Вверх
volatile
Дата 23.12.2012, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(alexx83 @  23.12.2012,  10:06 Найти цитируемый пост)
вы попробуйте запустить ваши экзешники на компе без VisualStudio

Именно так и запускал.

А вот когда запускаю из под чего-то третьего "grandfather", тогда да, получается как у вас.

Добавлено через 1 минуту и 23 секунды
alexx83, проблема понятна. будем посмотреть...

PM MAIL   Вверх
volatile
Дата 23.12.2012, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



alexx83, хорошо. Ну а с Job' ами почему у вас не работает?
Собрал фазера, опять с вашим-же кодом (тем где Job' ы), и опять у меня все прекрасно работает.
и даже из под грандфазера, и вообще из под чего-угодно....

Картинки постить не буду, уж поверьте на слово.
запускаю фазер
он запускает сына.
сидят вместе.
из менеджера закрываю фазера.
сын автоматически закрывается сам.

вот фазер, сына не менял.

Добавлено через 1 минуту и 54 секунды
вот

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  22.7z 46,06 Kb
PM MAIL   Вверх
alexx83
Дата 23.12.2012, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Да с jobами работает с одним неприятным моментом - когда завершается враппер то в консоли перед смертью gdb опять высакивает ошибка
Код

$ Exception condition detected on fd 0
error detected on stdin

PM MAIL   Вверх
volatile
Дата 23.12.2012, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



что-то интернет глючит, еще раз

Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  22.7z 46,06 Kb
PM MAIL   Вверх
alexx83
Дата 23.12.2012, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Вопрос по фазеру: 
 Почему заремили GetExitCodeProcess и "return exitCode"
PM MAIL   Вверх
volatile
Дата 23.12.2012, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(alexx83 @  23.12.2012,  14:43 Найти цитируемый пост)
 в консоли перед смертью gdb 

а что это так важно?

Имхо вообще не нужно закрывать процессы из менеждера. Это же не нормально само по себе?

Вы хотите чтоб прибивая грубо процесс из менеджера, он расшаркивался перед вами в любезностях ???
зачем?

PM MAIL   Вверх
alexx83
Дата 23.12.2012, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Цитата

Вы хотите чтоб прибивая грубо процесс из менеджера, он расшаркивался перед вами в любезностях ???
зачем?

Ну типа да должен тихо уйти с миром))
PM MAIL   Вверх
volatile
Дата 23.12.2012, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(alexx83 @  23.12.2012,  14:51 Найти цитируемый пост)
GetExitCodeProcess и "return exitCode" 

просто у меня воид функция, можете вернуть, это не принципиально

PM MAIL   Вверх
alexx83
Дата 23.12.2012, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Значит пока придется использовать вариант с jobами. Большое спасибо что уделил мне время) Если вдру придет еще что-нибудь в голову обязательно запостите сюда я готов перепробовать все варианты))
PM MAIL   Вверх
volatile
Дата 23.12.2012, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



alexx83, в общем ваш вопрос сводится к несколько другой теме:
"Почему, при насильственном убиении процесса, он на что-то там успевает пожаловаться.."

Это несколько другая тема, и упирается она в очередность прибивания системой хендлов убиваемого процесса.
Воссоздать такой случай мне пока не удалось...

Гадать на расстоянии трудно, тем не менее, попробуйте следующее:
1. Добавьте также текущий процесс в Job. (Фактически у вас в Job' е только дочерний).
т.е: AssignProcessToJobObject (ghJob, GetCurrentProcess ())
(впрочем это врядли поможет).

2. Попробуйте во враппере, после создания дочернего, но перед WaitForSingleObject вставить отключение враппера от консоли.
FreeConsole ();
Возможно в таком случае убиение враппера, не будет вызывать жалобы gdb, на ошибки в stdin...

PM MAIL   Вверх
volatile
Дата 23.12.2012, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(volatile @  23.12.2012,  20:26 Найти цитируемый пост)
FreeConsole ();

можно еще добавить: CloseHandle (GetStdHandle(STD_INPUT_HANDLE));
и т.д.
PM MAIL   Вверх
alexx83
Дата 23.12.2012, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Большое спасибо! Как опробую отпишусь smile
PM MAIL   Вверх
alexx83
Дата 24.12.2012, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 29.3.2010

Репутация: нет
Всего: 1



Цитата(volatile @  23.12.2012,  21:07)

Цитата(volatile @  23.12.2012,  20:26 Найти цитируемый пост)
FreeConsole ();

можно еще добавить: CloseHandle (GetStdHandle(STD_INPUT_HANDLE));
и т.д.

Танцев с бубнами не понадобилось. Ошибки при снятии процесса куда-то ушла)
Всем спасибо за обсуждение. Считаю тему закрытой.
PM MAIL   Вверх
volatile
Дата 24.12.2012, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 13
Всего: 85



Цитата(alexx83 @  24.12.2012,  08:12 Найти цитируемый пост)
Ошибки при снятии процесса куда-то ушла

бывает...  smile 
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0859 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.