Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako napraviti single instance aplikaciju na linuksu?

[es] :: C/C++ programiranje :: kako napraviti single instance aplikaciju na linuksu?

[ Pregleda: 2728 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

indy
Nikola Knežević
EPFL
Lausanne

Član broj: 3152
Poruke: 144
217.26.75.*

Jabber: indy@elitesecurity.org


Profil

icon kako napraviti single instance aplikaciju na linuksu?31.05.2005. u 11:41 - pre 230 meseci
pozdrav,
želim da napravim aplikaciju čija samo jedna instanca može biti aktivna u jednom trenutku. aplikacija je pisana u C++, koristeći fltk biblioteke (probao sam da koristim njihov Mutex, ali linkovanje baca neke greške).

Zna li neko način da se to fino uradi?

Meni je padalo na pamet da postavim da sluša na nekom portu, pa će svaka sledeća da pada, ali to nije toliko lepo, nit elegantno.

Hvala.
:*a programmer types in code, compiles it, runs it, and waits for
it to crash. Programs that don't crash are presumed to be running
correctly." - UNIX Haters Handbook
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: kako napraviti single instance aplikaciju na linuksu?31.05.2005. u 14:50 - pre 230 meseci
Postoji funkcija lockf koja može da ti pomogne. Bilo bi zgodno da u fajl na fajl sistemu upišeš PID procesa koji radi na primer /var/lock/<ime_tvoje_aplikacije>/PID, ili nešto slično.
Druga caka je da lock realizuješ kao kreiranje linka na fajl (to može da bude link na bilo koji fajl, ali ti ne preporučujem da baš uzmeš /etc/passwd ili /etc/shadow). Kreiranje linka bi trebalo na unixu da bude atomska operacija. Na primer, ako ti lockf ne radi kako bi trebalo, onda bi mogao lokovanje da uradiš tako što prvo pokušaš da kreiraš link /var/lock/<ime_tvoje_aplikacije>/running na fajl /var/lock/<ime_tvoje_aplikacije>/PID, pa ako uspeš, u sledećem koraku upišeš pid u fajl.
 
Odgovor na temu

[es] :: C/C++ programiranje :: kako napraviti single instance aplikaciju na linuksu?

[ Pregleda: 2728 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.