Автор Гілка: Як знайти семофор ?  (Прочитано 2450 раз)

Відсутній vanessa

  • Графоман
  • ****
  • дописів: 468
  • Карма: +0/-0
Як знайти семофор ?
« : 2008-08-06 21:44:03 »
Є програмка, яка стврює семафор і працює, синхронізуючись цим семафором. мені відоме його ім'я. Яким чином я можу отримати дескриптор цього семафора ? програмую на С. у функції semget немає такого параметра як назва. ftok вроді також не допоможе.
Семофори це ж глобальні об'єкти, отже повинен будти десь інструмент яким можна отримати список всіх семафорів чи як?
Щось мені ftok& semget & semctl & semop - якийсь незрозумілий набір. ну якщо створити сеафор у бутківському процесі і синхронізувати потоки в середині цього процеса чи процеси-потомки тоді все зрозуміло, а от якщо процеси немають прямих родинних відносин, а повинні сихронізуватись як тоді бути ?

Відсутній AliceStein

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
Re: Як знайти семофор ?
« Відповідей #1 : 2008-11-24 20:49:53 »
е команда ipcs -s видае всю iнформацiю про семафори, а взагалi функцiz semget повертае дескриптор семафора при створеннi ти можеш зберегти його в файлi, щоб iнший процесс зчиатав його або передати через змiнну округу setenv та прочитати getenv

Відсутній AliceStein

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
Re: Як знайти семофор ?
« Відповідей #2 : 2008-11-24 20:55:18 »
ти можеш через сокети або пайпи передати дескриптор сторонньому процессу