Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:40 09.07.25 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема Как да свържа 2 процеса?нови  
Автор ebliviq_zaek (zaiko)
Публикувано26.11.08 22:43



Здр,

Имам процес А и процес Б. Процес А стартира процес Б. Представете си, че пречукам процес А от TaskManager на Windows. Искам когато процес А умре, автоматично да умре и процес Б. Някой знае ли как става това?

Благодаря за всяка помощ.

"Добрите програмисти знаят какво да пишат. Великите знаят какво да пренапишат"



Тема не става ли самонови [re: ebliviq_zaek]  
Автор zaphod (мракобес)
Публикувано26.11.08 23:18



мен понякога като ми остане процес неубиваем който уж се дебъгва (а студиото не знае) просто затварям студиото и процеса умира




NE SUTOR ULTRA CREPIDAM


Тема Re: Как да свържа 2 процеса?нови [re: ebliviq_zaek]  
Автор bira_more (бира)
Публикувано26.11.08 23:35



Имаше някакъв сложен танц та да се знае кой на кого къф се пада. Може да е и от начина на стартиране.
Огледай какви параметри имаш при стартиране.
В линукс е по просто - там е малко по сложно ако искаш да не са свързани.

Bеer? Mоre?




Тема Re: не става ли самонови [re: zaphod]  
Автор ebliviq_zaek (zaiko)
Публикувано26.11.08 23:46



Ами не става за дума за VS и за дебъгван процес. Става дума за процес който прехвърля част от калкулациите на друг процес. Ако убиеш първия искам и втория да загине. Но примера с VS е добър. Ето че някъде са го направили, само трябва да разбера как.

"Добрите програмисти знаят какво да пишат. Великите знаят какво да пренапишат"



Тема Re: не става ли самонови [re: ebliviq_zaek]  
Автор Дeшeв (Муслон)
Публикувано27.11.08 00:11



В един от примерите за

правих нещо подобно с един глупав скрипт, който следеше процес и го рестартираше, като умре. Идеята беше да стартираш процеса с шел команда, като блокираш. В момента, в който умре или си излезе културно, те разблокира и можеш да си умреш спокойно. Може да си го пуснеш това в друга нишка, че да свършиш някаква истинска работа. А може и да не блокираш, а периодично да проверяваш дали е жив другият процес. Варианти бол.

Иначе с WMI съм сто процента сигурен, че можеш да получиш събитие, когато стартира процес. Най-вероятно има и обратното -- когато умира такъв. Сега това може да не е за всеки -- WMI с PowerShell е песен, но с някой език като C++ сигурно ще умреш в мъки.



Тема не става само ...нови [re: ebliviq_zaek]  
Автор Colombino (програмист)
Публикувано27.11.08 01:33



Какво ще рече 'прехвърля част от калкулациите'? Как става това прехвърляне? Т.е. как си говорят двата процеса?
Тоя дето прехвърля работата ли стартира другия, или ги стартираш ръчно по отделно? По принцип като намре родителският процес, наследникът не умира от самосебе си (това за zaphod го казвам).

Ако са на една машина процесите, един смислен начин е този:

Правиш мутекс с главната програма (и тя е owner), а работната само го отваря (може на таймер да проверява докато не се появи) и да wait-неш в една нишка за тоя мутекс. Като главната програма намре, ша получиш WAIT_ABANDONED и ша си самоубиеш работната.



System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_

Редактирано от Colombino на 27.11.08 01:34.



Тема Re: не става ли самонови [re: ebliviq_zaek]  
Автор Maтa Kocмaтa (космат маймун)
Публикувано27.11.08 07:34



Кой те сложи да ръководиш проекти, при положение, че с два процеса не можеш да се оправиш?

Save the original.


Тема Re: Как да свържа 2 процеса? [re: ebliviq_zaek]  
Автор Пaньo Дoнeв (пират)
Публикувано27.11.08 08:13



Ползвай CreateJobObject Function


CreateProcess Function и AssignProcessToJobObject Function




Тема Re: не става ли самонови [re: Maтa Kocмaтa]  
Автор Pekoнcтpykтop (дарвинист)
Публикувано27.11.08 09:38



Ми те обикновено такива слагат.



Тема Re: Как да свържа 2 процеса?нови [re: ebliviq_zaek]  
Автор Pekoнcтpykтop (дарвинист)
Публикувано27.11.08 09:44



В процес А викаш GetCurrentProcessId() и квото ти върне го пращаш като параметър на процес Б. В Б викаш OpenProcess() и получаваш хендъл от идентификатора. После периодично викаш GetExitCodeProcess() и когато спре да ти връща STILL_ACTIVE, значи А е заминал.




Страници по тази тема: 1 | 2 | 3 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.