it-swarm-pt.tech

O que a chave SysRq faz?

No meu teclado, a tecla funciona como a tecla Print Screen quando o bloqueio F está ativado e tem "SysRq" abaixo dela (provavelmente para ser usado quando o bloqueio F está desativado). O que é isso e o que isso faz?

28
RCIX

SysRq foi introduzido nos teclados de PC IBM como uma forma de criar uma plataforma cruzada para iniciar um evento de baixo nível. Ao digitar as teclas, elas são colocadas em um buffer e descarregadas periodicamente. Se sua máquina travar, o teclado não funciona.

SysRq A chave era basicamente forçar um comando a ser enviado ao computador, ignorando o buffer, para acionar uma chamada de baixo nível; geralmente um evento RESET.

No entanto, cada sistema operacional ignora essa tecla agora e usa uma combinação preferencial de pressionamento de tecla para iniciar algum tipo de interface do tipo 'Gerenciador de tarefas', permitindo que o sistema operacional continue em execução, em vez de redefinir o computador.

É muito mais comum executar aplicativos a partir do SO host, em vez do BIOS. Não era assim nos anos 80 :-)

18
Dominic Zukiewicz

SysRq key foi inventada nos primeiros dias dos computadores pessoais, quando os programas Terminate and Stay Resident (TSR) de baixo nível podiam acessar e modificar diretamente o buffer do teclado. Essa chave contornou o buffer e deu acesso direto ao sistema operacional MSDOS.

Hoje, essa chave é ignorada pelo BIOS e pelo Windows. Foi relegado ao Prt Scn chave e é ativado por Alt+Prt Scn. Alguns fabricantes, por exemplo Lenovo, não marcam mais no teclado, embora ainda possa ser acessado como acima.

Alguns depuradores mais antigos usavam essa chave como chave de interrupção de execução, mas ela não existe mais.

No Linux, a chave ainda está presente, exigindo que a opção de kernel CONFIG_MAGIC_SYSRQ seja especificada quando o kernel foi construído. Isso pode ser verificado digitando o comando:

$ cat /proc/sys/kernel/sysrq
176

O comando mais frequentemente retornará o valor de 176, onde cada bit representa uma função:

0 - disable sysrq completely
1 - enable all functions of sysrq
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signaling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

Um valor de 0 desativa todas as funções SysRq e um valor de 1 ativa todos eles. O valor em execução pode ser alterado, por exemplo, pelo comando:

echo "1" > /proc/sys/kernel/sysrq

De todas as sequências de teclas de comando, REISUB é a mais famosa, ao segurar o Alt+Prt Scn e pressionando as seguintes teclas em sequência:

  • r: muda o teclado do modo bruto para o modo XLATE
  • e: envia um sinal SIGTERM para todos os processos, para fechar normalmente, se possível
  • i: envia um sinal SIGKILL para encerrar processos que não responderam
  • s: sincroniza todos os sistemas de arquivos montados e libera todas as alterações do disco em cache
  • u: remontar todos os sistemas de arquivos em somente leitura
  • b: reinicialização do sistema.

Referências:

5
harrymc

É uma tecla programável que pode ser feita para fazer uma variedade de coisas, depende.

Lembro-me de alguns usos em terminais ibm antigos, e alguns programas DOS usavam para uma forma de reinicialização suave.

3
Rook

No Linux, ele ainda tem uma função muito útil:

https://en.wikipedia.org/wiki/Magic_SysRq_key

2
pgoetz