Como eliminar uma sessão de login remotamente
Você pode eliminar uma sessao UNIX de login remotamente enviando um sinal de hangup (SIGHUP) para o processo que está rodando a sessão.
Para fazer isso, siga os passos:
- Identifique o shell que você quer eliminar. Para verificar o seu shell, ou o tty corrente digite, no prompt do unix/linux:
tty
- Para visualizar todos os processos que estão rodando, digite:
ps -fu username
Troque username pelo nome do usuário a pesquisar.
- Você verá algo como:
UID PID PPID C STIME TTY TIME CMD
A primeira coluna "UID" - Id do usuário, a segunda coluna PID corresponde ao "process ID". O traço (-) antes do nome do processo indica que o processo é um shell login. - Digite então:
ps -fu username | grep bash
Troque username pelo nome do usuário a pesquisar.
- Você terá os processos ID daquele processo em particular.
- O comando a seguir mostra quem está logado e o que está fazendo em tempo de execução:
w
- Você verá algo como:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
- Verique com os 2 (dois) comandos qual o TTY que você quer eliminar. Evitando assim eliminar sessão errada.
- Para remover o shell, anote o número PID (process ID) do processo/TTY desejado e digite:
kill -HUP processid
Altere processid pelo número do processo que você identificou.
Ao enviar um SIGHUP (digitando kill -HUP ou kill -1) para um shell login, todos os processos que foram iniciados pelo shell serão eliminads. A menos que estejam rodando em background.
SIGHUP é muito bom devido ao fato de que eles permitem que aplicações como Elm e Emacs finalizem sem problemas, mantendo seus arquivos intactos.
Observação:
Você não pode matar processos que estão sendo executados em um computador diferente do que você está conectado. Esta regra estende-se a nós individuais dentro de clusters de sistemas unix também.
Tags: shell, command, process, kill, SIGHUP
by Alexandre LLemes
Comentários
Postar um comentário