¿Cómo envío y recibo señales en tiempo real `sigqueue ()` en Python?
Pregunta
Python proporciona un módulo señales
y os.kill
; ¿tiene una función para sigqueue ()
(señales en tiempo real con datos adjuntos)? ¿Cuáles son las alternativas?
Solución
Puede hacerlo con ctypes
>>> from ctypes import *
>>> c = cdll.LoadLibrary("libc.so.6")
>>> c.sigqueue
<_FuncPtr object at 0xb7dbd77c>
>>> c.sigqueue(100, 10, 0)
-1
>>>
Tendrá que buscar cómo hacer una unión en tipos que nunca antes había hecho, pero creo que es posible.
Otros consejos
Una alternativa, si nadie lo ha hecho aún, sería envolver la biblioteca C usted mismo, debería ser bastante rápida e indolora. Mire aquí para obtener más detalles.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow