signals

¿Cómo puedo capturar SIGINT en Python?

Estoy trabajando en un script python que inicia varios procesos y conexiones de base de datos. De vez en cuando quiero matar ... xit_gracefully'; sub exit_gracefully { print "Caught ^C \n"; exit (0); } ¿Cómo hago el análogo de esto en Python?

¿Es posible capturar una señal Ctrl + C y ejecutar una función de limpieza, de manera "diferir"?

Quiero capturar el Ctrl + C (SIGINT) señal enviada desde la consola e imprimir algunos totales parciales. ¿Es esto posible ... ? Nota: Cuando publiqué por primera vez la pregunta, estaba confundido acerca de que Ctrl+C era SIGTERM en lugar de SIGINT.

¿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 me di cuenta de que el autor ... a usar señal. Para seguir la convención debería usar sigaction pero si estaba escribiendo desde cero, ¿cuál debería elegir?

Cómo prevenir los SIGPIPEs (o manejarlos correctamente)

Tengo un pequeño programa de servidor que acepta conexiones en un socket TCP o UNIX local, lee un comando simple y, dependien ... e funcionar aquí, ya que siempre dice que el socket es escribible). ¿O debería coger el SIGPIPE con un manejador e ignorarlo?

¿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 comandos en una vent ... ió la señal de apagado, ¿debería haber un mensaje en algún lugar del registro del sistema que explique por qué fue asesinado?

Manejo de señales con múltiples subprocesos en Linux

En Linux, ¿qué sucede cuando un programa (que posiblemente tiene varios hilos) recibe una señal, como SIGTERM o SIGHUP? ¿Qu ... del hilo que debe manejar la señal? ¿Cómo se reanuda la ejecución después de que finalice la rutina del manejador de señales?

¿Cómo puedo atrapar SIGSEGV (error de segmentación) y obtener un seguimiento de pila bajo JNI en Android?

Estoy moviendo un proyecto al nuevo Kit de Desarrollo Nativo de Android (es decir, JNI) y me gustaría capturar SIGSEGV, en c ... señal como ese en Android, eso resolvería la parte de captura de mi pregunta, pero no veo tal biblioteca para Android/Dalvik.

Llamando a la señal pthread cond sin bloquear mutex

Leí en alguna parte que deberíamos bloquear el mutex antes de llamar pthread_cond_signal y desbloquear el mutext después ... completo. Mi pregunta es: ¿no está bien llamar pthread_cond_signal o pthread_cond_broadcast métodos sin bloquear el mutex?

¿En qué orden debo enviar señales a los procesos de apagado con gracia?

En un comentario en esta respuesta de otra pregunta, el comentarista dice: No use kill -9 a menos que absolutamente es ... rece mencionar INT o QUIT, y hay una mención limitada de HUP. ¿Hay alguna razón para incluirlos en un proceso ordenado-matar?

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

En mi aplicación Django, necesito comenzar a ejecutar algunos trabajos periódicos en segundo plano cuando un usuario inicia s ... is_logged_in no pertenece en el UserProfile, pero en el modelo de usuario. ¿Alguien puede pensar en enfoques alternativos ?

Captura Ctrl + C / SIGINT y sal de multiprocesos con gracia en python

Cómo cojo un Ctrl+C en un programa python multiproceso y salgo de todos los procesos con gracia, necesito la solución para tr ... p.start() Y está funcionando, pero no creo que sea la solución correcta. EDITAR: Esto podría ser un duplicado de este

¿Dónde están los volcados de núcleo escritos en Mac?

En Mac OS X, si envío SIGQUIT a mi programa C, termina, pero no hay ningún archivo de volcado de núcleo. ¿Tiene que habilit ... ualmente los volcados de núcleo en Mac OS X (cómo?), o están escritos en algún otro lugar en lugar del directorio de trabajo?

Ejecutar un comando tras otro, incluso si suspendo el primero (Ctrl-z)

Sé que en bash puedo ejecutar un comando tras otro separándolos por punto y coma, como $ command1; command2 O si solo quie ... l vez sólo necesito establecer una opción en algún lugar. Por cierto, ¿cuál es el término apropiado para lo que Ctrl-z hace?

¿Puedo enviar ctrl-C (SIGINT) a una aplicación en Windows?

He escrito (en el pasado) aplicaciones multiplataforma (Windows/Unix) que, cuando se inician desde la línea de comandos, mane ... ss from another (unrelated) process to request that it terminate cleanly (giving it an opportunity to pid up resources etc.)?

¿Cómo evitar el uso de printf en un manejador de señales?

Dado que printf no es reentrante, no se supone que sea seguro usarlo en un manejador de señales. Pero he visto muchos códigos ... . Así que mi pregunta es: ¿cuándo necesitamos evitar usar printf en un manejador de señales, y hay un reemplazo recomendado?

Android Fatal Signal 11

En la aplicación que estoy desarrollando en Android, sigo recibiendo un error Fatal Signal 11. Creo que tiene algo que ver c ... lt;1K, 4% free 8930K/9223K, paused 4ms+4ms 05-02 23:47:17.998: A/libc(590): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)

¿Por qué muchos programas Unix usan señales como USR1?

Muchos programas Unix aceptan señales como USR1 y USR2. Por ejemplo, para actualizar el ejecutable para Nginx sobre la marcha ... ar con gracia los procesos de trabajo HUP? ¿WINCH? ¿Cuál es la razón de estos nombres? ¿Dónde puedo aprender más sobre esto?

Roscas y señales POSIX

He estado tratando de entender las complejidades de cómo interactúan los hilos POSIX y las señales POSIX. En particular, esto ... o y al menos hacer que algunas partes útiles soporten hilos. Las señales son una de esas partes que es de particular interés.

¿Cuál es la forma correcta de hacer que mi aplicación PyQt salga cuando se mata desde la consola (Ctrl-C)?

¿Cuál es la forma correcta de hacer que mi aplicación PyQt salga cuando se mata desde la consola (Ctrl-C)? Actualmente (no ... mi aplicación PyQt ignora SIGINT (Ctrl+C). Quiero que se comporte bien y salir cuando es asesinado. ¿Cómo debería hacer eso?