Как я могу отправлять и получать сигналы в реальном времени `sigqueue ()` в Python? - PullRequest
2 голосов
/ 01 декабря 2009

Python предоставляет модуль signals и os.kill; есть ли в нем средство для sigqueue() (сигналы реального времени с прикрепленными данными)? Какие есть альтернативы?

Ответы [ 2 ]

3 голосов
/ 01 декабря 2009

Вы можете сделать это с ctypes

>>> from ctypes import *
>>> c = cdll.LoadLibrary("libc.so.6")
>>> c.sigqueue
<_FuncPtr object at 0xb7dbd77c>
>>> c.sigqueue(100, 10, 0)
-1
>>>

Вам придется посмотреть, как создать объединение в ctypes, чего я никогда раньше не делал, но я думаю, что это возможно.

2 голосов
/ 01 декабря 2009

Один из вариантов, если еще никто не сделал этого, - это обернуть библиотеку C самостоятельно - это должно быть довольно быстро и безболезненно. Смотрите здесь для более подробной информации.

...