Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

267
Vistas
Qué combinaciones de teclas están asociadas con las señales

Estoy escribiendo algunos scripts de Perl y quiero utilizar señales para realizar ciertas rutinas en cualquier momento. Veo por todas partes la capacidad de imprimir cuáles son las señales,

 perl -e 'foreach (keys %SIG) { print "$_\n" }'

y ya he estado usando "INT" para ir a una subrutina que se activa con ctrl+c.

No puedo encontrar en ninguna parte qué combinaciones de teclas están asociadas con las otras señales. ¿Hay una lista en algún lugar? El script que estoy escribiendo debería funcionar en computadoras Mac y Linux.

Sé que la señal ctrl+c es análoga entre sistemas, ¿qué otras "señales" se pueden utilizar en perl y qué teclas las activan?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

qué otras "señales" se pueden utilizar en perl

Estos son los nombres de las señales reconocidos por Perl:

$ perl -V:sig_name
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM4 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED ';

La lista anterior también se puede obtener de $Config{sig_name} de Config.pm.

También están las dos pseudoseñales, __WARN__ y __DIE__ .

y que teclas las activan?

Las siguientes señales a menudo se envían en respuesta a la entrada del terminal:

  • SEGUIR
  • SIGQUIT es una versión más "seria" de SIGINT que proporciona un volcado del núcleo.
  • SIGTSTP envía un proceso a segundo plano.
  • SIGSTOP es una señal indetectable que congela el proceso.
  • SIGCONT reanuda un proceso congelado por SIGSTOP.

Puede ver a qué clave están vinculados usando lo siguiente:

 $ stty -a | perl -ne' $b{$1}=$2 while /\b(intr|quit|susp|stop|start)\s*=\s*([^\s;]+)/g; END { print "SIGINT: $b{intr}\n"; print "SIGQUIT: $b{quit}\n"; print "SIGTSTP: $b{susp}\n"; print "SIGSTOP: $b{stop}\n"; print "SIGCONT: $b{start}\n"; } ' SIGINT: ^C SIGQUIT: ^\ SIGTSTP: ^Z SIGSTOP: ^S SIGCONT: ^Q

La mayoría de las señales no se envían como resultado de la entrada del terminal. Las siguientes señales de uso común y lo que normalmente hace que se envíen:

  • SIGSEGV se envía cuando el programa realiza una operación ilegal (a menudo como resultado de usar un puntero incorrecto).
  • SIGHUP se envía cuando el terminal de la sesión se desconecta.
  • SIGTERM se envía para solicitar la salida de un proceso.
  • SIGKILL no puede ser atrapado. Se envía para terminar por la fuerza un proceso.
  • SIGCHLD se envía cuando sale un hijo.
  • SIGALRM se envía por alarm .
  • SIGPIPE se envía cuando se escribe una canalización con un extremo de lectura cerrado.
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda