Como faço para desconectar sessões específicas?

2

Eu li estas estas instruções genéricas para desconectar os usuários , mas eu quero mais detalhes.

Quando executo o comando users , vejo várias instâncias do mesmo usuário. IE: Joe Joe Joe Joe Joe

Como sei se Joe está ativo? Como eu encontraria mais informações sobre o que Joe está fazendo em cada sessão? (como posso fechar uma sessão que Joe abriu e não perder seu trabalho?)

Estou familiarizado com o comando w . Digamos que esse usuário deixou o terminal em casa e entrou no trabalho; mas reiniciar o servidor não é uma boa ideia, eu acabei de usar o comando

pkill -KILL -u Joe bash 

Isso me tirou da casca e saiu da casca de casa, sem ter idéia se estou perdendo o trabalho nesse processo.

O que pode ser feito para me ajudar a avaliar quais sessões podem ser fechadas com segurança?

Eu tentei

skill -KILL -v /dev/pts/1 

para matar uma sessão específica, mas nada aconteceu.

    
por j0h 11.07.2013 / 06:34

2 respostas

1

Eu recomendaria usar w para identificar o ocioso tty e, em seguida, enviá-lo para SIGHUP:

pkill -SIGHUP -t pts/5

SIGHUP (o sinal de desligamento) encerrará a sessão mais suavemente, quase como se o usuário tivesse emitido o comando logout . O SIGKILL deve ser sempre o último recurso.

    
por Steven K 06.01.2015 / 23:50
1

Eu devo ter interpretado mal uma parte da sua postagem.

Não há uma boa maneira de se reconectar à sessão de terminal com a qual você perdeu a conexão, a menos que esteja usando a tela ou algo semelhante. Aqui está uma postagem do stackexchange na tela de inicialização em conexões ssh:

link

Editar:

Esta não é uma solução para este problema

kill -9 $ (ps aux | grep "[] $ (quem | grep 'Joe' | awk '{print $ 2}')" | awk '{print $ 2}')

    
por Chris Montanaro 15.07.2013 / 22:39