24 de maio de 2009

A Tecla mágica SysRq

A tecla mágica do kernel linux: SysRq

"O linux é muito estável, mas uma vez ou outra pode dar um pau como qualquer sistema operacional. Aí nós, usuários linux dizemos que se der pau no X, então vamos para o terminal e matamos processos e resolvemos o problema na munheca. O problema é quando não conseguimos nem chegar ao modo texto. E aí? O que fazer? Usar o ctrl + alt + dedo, vulgo dedoff? Esse é o único jeito? E o filesystem como fica?

Não!!! Não use o dedoff no linux! Existe a possibilidade de desligar o sistema sem problemas futuros, ou seja, sem prejudicar o sistema. Por este motivo existe no kernel uma opção chamada "Magic SysRq Key" na seção "kernel hacking". Você pode ativar ou desativar essa opção quando você quiser. Abaixo as combinações da tecla mágica:

  • Alt+SysRq+r - Tira o teclado e o mouse do controle do servidor X. Isso pode ser bem viável quando o seu servidor X estiver travado, você pode mudar para um terminal e matar o X (ou ainda, verificar os logs).

  • Alt+SysRQ+k - Mata todos os processos que estão rodando no momento. Não é interessante fazer isso no terminal aonde está rodando o X (ou seja, tty7). A interface gráfica iria parar.

  • Alt+SysRQ+b - Um reboot sem desmontar o sistema

  • Alt+SysRQ+o - Desligamento via APM

  • Alt+SysRQ+s - Escrever todos os dados em memória virtual para a física. Ou seja, memória para o Hard Disk.

  • Alt+SysRQ+u - Remonta todo sistema de arquivos que foi montado para read-only

  • Alt+SysRQ+m - Joga todas as informações da memória para o terminal

  • Alt+SysRQ+e - Envia um SIGTERM para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto o init

  • Alt+SysRQ+i - Envia um SIGTERM para todos os processos (Quem não obdeceu ao Alt + SysRQ + e toma um kill -9), exceto o init.

  • Alt+SysRQ+l - Envia um sinal de SIGKILL para todos os processos, inclusive o init

Para desligar o sistema depois de um kernel panic, faça o seguinte:

  1. Alt+SysRQ+e (envia um sinal TERM, processos podem desativar de uma maneira correta, não-brusca, capacitando-os a salvar dados)
  2. Alt+SysRQ+u (Um sincronismo será feito quando acontecer um desmonte de qualquer maneira)
  3. Alt+SysRQ+i (Quem não obdeceu ao Alt + SysRQ + e toma um kill -9)
  4. Alt+SysRQ+b (Reboot)


Para habilitar essas funções da tecla mágica SysRq, você precisa fazer o seguinte:

# echo "1" > /proc/sys/kernel/sysrq
ou adicionar ao /etc/sysctl.conf
kernel.sysrq = 1


Fonte Original em inglês: http://www.linuxhowtos.org/Tips%20and%20Tricks/sysrq.htm

Nenhum comentário: