Escriba un programa en C que no termine cuando se presiona Ctrl+Z. Imprime un mensaje «No se puede suspender con Ctrl+Z» y continúa la ejecución.
Podemos usar la señal de Unix para esto. Cuando se presiona Ctrl+Z, se genera la señal SIGTSTP.
La señal SIGTSTP es enviada a un proceso por su terminal de control para solicitar que se detenga (terminal stop). Podemos captar esta señal y ejecutar nuestra propia señal definida.
La función de biblioteca C estándar signal() se puede usar para configurar un controlador para cualquiera de las señales anteriores.
// C program that does not suspend when // Ctrl+Z is pressed #include <stdio.h> #include <signal.h> // Signal Handler for SIGTSTP void sighandler(int sig_num) { // Reset handler to catch SIGTSTP next time signal(SIGTSTP, sighandler); printf("Cannot execute Ctrl+Z\n"); } int main() { // Set the SIGTSTP (Ctrl-Z) signal handler // to sigHandler signal(SIGTSTP, sighandler); while(1) { } return 0; }
Producción:
Cannot execute Ctrl+Z
Este artículo es una contribución de Pramod Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA