Livre-se de processos SSH abandonados

2

Eu tenho uma máquina Linux executando dropbear como seu servidor SSH. Eu abro muitas sessões SSH de um cliente em direção a essa máquina, enquanto as sessões estão ativas, retiro o cabo Ethernet da porta DCN da máquina do servidor para que não seja mais possível conectar o SSH ao servidor. Mas os processos SSH criados anteriormente no servidor continuam vagando no sistema e aparecem no comando ps , etc. (causando vazamento de memória) até que eu reinicialize a máquina. Existe uma maneira de limpá-los automaticamente e se livrar desses processos em situações idênticas às descritas acima sem fazer uma reinicialização?

    
por coffeMug 11.02.2016 / 10:56

2 respostas

4

Isso pode ser útil para outras pessoas: Eu resolvi isso adicionando o sinalizador -K SECONDS ao script de início do dropbear. Desta forma, depois de três tentativas (1 min aproximadamente) dropbear desiste de que a conexão que está morto, portanto, vai matar o processo associado no lado do servidor. Veja aqui para mais informações: página de manual dropbear

    
por 11.02.2016 / 16:35
3

Duas opções:

  • Você pode apenas matar esses processos. Se você tem seus PIDs, basta usar o programa kill (que pode ser necessário executar como root) para finalizá-los.
  • Como você acabou de puxar o cabo, esses processos não estão mais recebendo dados do terminal remoto da conexão. Depois de um tempo, eles perceberão isso e morrerão sozinhos. Quanto tempo isso leva depende de alguns parâmetros configuráveis, mas por padrão isso é cerca de duas horas
por 11.02.2016 / 11:14

Tags