Preguntas etiquetadas con signals

Una señal es una notificación a un proceso de que ocurrió un evento. Las señales a veces se describen como interrupciones de software. Las señales son análogas a las interrupciones de hardware en que interrumpen el flujo normal de ejecución de un programa; en la mayoría de los casos, no es posible predecir exactamente cuándo llegará una señal. Están definidos en los estándares C y extendidos en POSIX, pero muchos otros lenguajes / sistemas de programación también brindan acceso a ellos.

614
¿Qué mató mi proceso y por qué?

Mi aplicación se ejecuta como un proceso en segundo plano en Linux. Actualmente se inicia en la línea de comando en una ventana de Terminal. Recientemente, un usuario estaba ejecutando la aplicación por un tiempo y murió misteriosamente. El texto: Delicado Estaba en la terminal. Esto sucedió...

536
¿Cómo capturo SIGINT en Python?

Estoy trabajando en un script de Python que inicia varios procesos y conexiones de bases de datos. De vez en cuando quiero matar el script con una señal Ctrl+ C, y me gustaría hacer una limpieza. En Perl haría esto: $SIG{'INT'} = 'exit_gracefully'; sub exit_gracefully { print "Caught ^C \n";...

194
TransactionManagementError “No puede ejecutar consultas hasta el final del bloque 'atómico'” mientras usa señales, pero solo durante las Pruebas unitarias

Recibo TransactionManagementError cuando intento guardar una instancia de modelo de usuario de Django y, en su señal post_save, guardo algunos modelos que tienen al usuario como clave foránea. El contexto y el error es bastante similar a esta pregunta django TransactionManagementError cuando se...

143
¿Cuál es la diferencia entre sigaction y signal?

Estaba a punto de agregar un controlador de señal adicional a una aplicación que tenemos aquí y noté que el autor había utilizado sigaction()para configurar los otros controladores de señal. Iba a usar signal(). Para seguir la convención que debo usar, sigaction()pero si escribo desde cero, ¿cuál...

82
Django: ¿señal cuando el usuario inicia sesión?

En mi aplicación Django, necesito comenzar a ejecutar algunos trabajos en segundo plano periódicos cuando un usuario inicia sesión y dejar de ejecutarlos cuando el usuario cierra sesión, así que estoy buscando una forma elegante de ser notificado de un inicio de sesión / cierre de sesión de...

81
Hilos y señales POSIX

He estado tratando de comprender las complejidades de cómo interactúan los hilos POSIX y las señales POSIX. En particular, me interesa: ¿Cuál es la mejor manera de controlar a qué hilo se envía una señal (suponiendo que no sea fatal en primer lugar)? ¿Cuál es la mejor manera de decirle a otro...