Witam, poszukuje rozwiazania ktorym moglbym zablokowac mozliwosc uruchomienia wiecej niz raz danego programu w tym samym czasie. Czyli na chlopski rozum jesli odpalam ./serwer.x, i on dziala, to przy drugim uruchomiieniu wyskakuje jakis komunikat a proces sie nie uruchamia. Ponoc uzywa sie do tego semaforow (pisze pod linuxem) ale nie wiem jak?
Można do tego użyć semaforów (aczkolwiek to nie jedyne wyjście, patrz post wyżej). O co chodzi? Nazwane semafory w Linuksie są dzielone między procesami (respektując uprawnienia), dzięki czemu można sprawdzać czy semafor już istnieje (lub czy jest/nie jest zajęty) i odpowiednio zareagować. Wystarczy użyć sem_open z flagami O_CREAT i O_EXCL i sprawdzać kod błędu. Przykład: http://pastebin.com/8LAyYyBU .