De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: José Messias Alves da Silva
Data de Publicação: 20 de julho de 2011
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:
SIGTERM
para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto o init
;
SIGTERM
para todos os processos (Quem não obdeceu ao Alt + SysRq + e
toma um kill -9), exceto o init
;
SIGKILL
para todos os processos, inclusive o init
;
oom_kill
para matar o processo que está usando mais memória;
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
# apt-get install 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
José Messias Alves da Silva é Matemático, Cientista da Computação pela UFPI, Especialista em Administração em Redes Linux, Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação do Tribunal Regional do Trabalho da 22ª Região. Entusiasta de soluções FOSS e ativista de cultura Hacker.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários