Witam,
mam pytanie może ktoś z forumowiczów mnie nakieruje na jakąś dokumentację, kawałek kodu w C/C++ . Otóż mam swój program napisany w języku C, którą uruchamiam z jakimiś swoimi opcjami. Chciałbym zrobić tak, aby aplikacja tuż przed uruchomieniem sprawdziła sobie ile jest już uruchomionych procesów tej samej aplikacji.
Widzę to tak, że jak się uruchomi aplikacja to dodaje informację, że się uruchomiła (np. informacja dodawana gdzieś do komórki pamięci z możliwością odczytania zawartości przez kolejne procesy tej samej aplikacji, albo do jakiegoś wirtualnego urządzenia, tak aby nikt z administratorów/użytkowników nie mógł tego w łatwy sposób zmodyfikować; czyli doda liczbę 1). Jak uruchomię drugi raz tę samą aplikację, odczytuje sobie ona ten kawałek pamięci lub wpis z jakiegoś stworzonego urządzenia i patrzy czy może się jeszcze raz uruchomić - jeżeli może to dodaje +1 to tej pamięci /urządzenia itd. Oczywiście w aplikacji będzie zdefiniowane globalnie ile procesów można jeszcze uruchomić tej samej aplikacji.
Być może źle do tego się zabieram, dlatego byłbym wdzięczny za jakąś pomoc / pomysł w tym temacie. Myślałem coś o semaforach...
Blokowanie ilości procesów aplikacji
Moderatorzy: Moderatorzy, Administratorzy
Re: Blokowanie ilości procesów aplikacji
Dobrze myślałeś, to jeden ze sposobów.nixau pisze:Myślałem coś o semaforach...
Innym może być odpalanie potomków tylko przez jeden z procesów (rodzica - potomkowie nie mogą uruchamiać kolejnych potomków), a tutaj nie ma problemu w trzymaniu licznika uruchomionych procesów.
Jeszcze innym... wątki zamiast procesów.
Re: Blokowanie ilości procesów aplikacji
A możesz nixau podać dlaczego taki sposób zaprojektowania?
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]
Re: Blokowanie ilości procesów aplikacji
Aplikacja wysyła zadania do wykonania na urządzeniu - urządzenie niestety w pewnym momencie wariuje jak otrzyma większą ilość zadań.
Dokopałem się do dodatkowych informacji i w sumie na socketach też można to zrobić w ciekawy sposób
Dokopałem się do dodatkowych informacji i w sumie na socketach też można to zrobić w ciekawy sposób
Re: Blokowanie ilości procesów aplikacji
Czyli u Ciebie każde wysłane zadanie to oddzielny wątek w aplikacji??
A co jest po stronie urządzenia, też każde zadanie jest obsługiwane przez oddzielny wątek/proces? Jest może limit zadań obsługiwanych? Jakieś limity pamięci, zasobów?
A co jest po stronie urządzenia, też każde zadanie jest obsługiwane przez oddzielny wątek/proces? Jest może limit zadań obsługiwanych? Jakieś limity pamięci, zasobów?