Creio que muitos usuários leigos já se indagaram sobre a funcionalidade da tecla (Print Screen | Sysrq)
em seus teclados. SysRq
significa System Request, que são funções mapeadas em atalhos de teclado pelo Kernel.
É possível usá-las pressionando a combinação de teclas Alt + SysRq + [tecla]
, que permite executar comandos comuns do SysRq
, tais como: sync, umount, reboot, poweroff, sak, term
, etc., onde [tecla]
pode ser s
(sync), k
(SAK), 0-9
(nível de log), b
(reboot), entre outras.
O sysrqd é um pequeno daemon que visa oferecer o controle do sistema com SysRq
pela rede.
A grande utilidade dessas funções são em situações em que o sistema está com carga de trabalho (processamento e memória) muito alta ou até mesmo inoperante. Já sysrqd é bastante útil quando não se está na frente do servidor e seja necessário realizar alguma intervenção.
Eis uma relação das funções que o SysRq
oferece:
- r – Tira o teclado e o mouse do controle do servidor X. Isso pode ser bem viável quando o servidor; X estiver travado, pode-se mudar para um terminal e matar o X (ou ainda, verificar os logs);
- k – Mata todos os processos que estão rodando no momento. Não é aconselhável fazer isso no terminal onde está rodando o X (tty7). A interface gráfica iria parar;
- b – Imediatamente reinicia o sistema, sem desmontar partições ou realizar sincronização;
- o – Desligamento via APM;
- s – Realiza a sincronização de todo o sistema de arquivos montado, ou seja, escreve todos os dados em memória virtual para a física;
- u – Remonta todo sistema de arquivos que foi montado para read-only;
- t – Mostra uma lista de tarefas atuais e suas informações para o console;
- m – Envia todas as informações atuais da memória para o terminal;
- p – Imprimi os conteúdos atuais dos registradores e flags para o console;
- 0-9 – Define o nível de log do console, controlando que mensagens do kernel serão impressas para no console;
-
e – Envia um
SIGTERM
para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto oinit
; -
i – Envia um
SIGTERM
para todos os processos (Quem não obdeceu aoAlt + SysRq + e
toma um kill -9), exceto oinit
; -
l – Envia um sinal de
SIGKILL
para todos os processos, inclusive oinit
; -
f – Executará a chamada de sistema
oom_kill
para matar o processo que está usando mais memória; - h – Usado para mostrar a ajuda. Entretanto, qualquer outra tecla não-listada acima irá exibir a ajuda.
Para habilitar as funções de SysRq
, é necessário ativá-la no kernel:
# echo "1" > /proc/sys/kernel/sysrq
Para persistir essa informação mesmo após um reinício da máquina, adiciona-se a seguinte linha ao /etc/sysctl.conf
:
kernel.sysrq = 1
Instalação do Sysrqd em Sistemas Debian
# apt-get install sysrqd
Uso do sysrqd
A conexão com o sysrqd
é protegido por senha, mas não cifrada. Configurando a senha:
# echo "senha_do_servico"> /etc/sysrqd.secret # chmod 0600 /etc/sysrqd.secret
Agora, para testar, basta dar um telnet
na porta 4094/tcp
.
$ telnet localhost 4094 Trying 127.0.0.1 ... Connected to localhost. Escape character is '^]'. sysrqd password: senha_do_servico sysrq> s sysrq> u sysrq> q
Fonte: http://www.dicas-l.com.br/dicas-l/20110720.php
0sem comentários ainda