Primeiro, antecipar a confusão: é, de fato, perguntar o contrário
da sua corrida da questão tmux do moinho.
Como se pode garantir que, se o túnel SSH morrer, nenhuma sessão do tmux
vazou em tudo. Ao executar múltiplos shells sobre o mesmo
Sessão SSH, encerrando a sessão e a instância do tmux de forma limpa
em um terminal ainda causará instâncias do tmux em outros terminais
vazar. Isso pode causar todos os tipos de problemas se e. g. um esqueci
para encerrar um processo de consumo de recursos que permaneceu oculto
em algum painel de fundo. Não é legal.
Estou usando o tmux quase exclusivamente como emulador de terminal e tenho
pouco uso, se houver, para o seu recurso de “desanexar”. Não é incomum que
Eu tenho várias instâncias tmux em terminais acessando o mesmo
máquina em uma única sessão SSH. Se eu quiser executar um plano de fundo
processo, peço o shell para disown
ou executá-lo em
systemd. Infelizmente, muitos sistemas com os quais estou trabalhando no dia a dia
ainda não atualizou para o systemd e é improvável que faça isso
o futuro próximo, então KillUserProcesses
não é uma opção.
O ideal é que eu invoque o tmux com alguma opção de linha de comando
impede que ele seja executado em segundo plano para que eu possa alias
para tmux
.
What SSH tunnels?
Uma conexão OpenSSH que atende a várias sessões.
What tmux session?
Instâncias do tmux separadas, uma por sessão SSH.
What leaks?
Vazamentos de instâncias do tmux. Como em: SSH em uma máquina. Inicie outra sessão de shell
sobre a mesma conexão. Inicie uma instância do tmux em cada sessão do SSH. Você agora
tem duas instâncias do tmux. Pare o tmux em uma sessão ( <C-d>
); então pare o SSH
conexão (novamente <C-d>
): A outra sessão SSH é fechada, mas a instância do tmux
correndo dentro dele é vazado com todos os processos que ela criança.
Please describe: (1) what setup you have now,
Stock OpenSSH, estoque tmux, algum shell. Principalmente conexões SSH reversas
que não posso restabelecer à vontade, mas isso não deve importar.
and (2) what scenario you're trying to prevent.
Processa permanecer vivo na outra sessão do tmux.
Note que essas são caixas diferentes em que o SSH está inserido, então o objetivo
é impedir que até mesmo uma única instância do tmux permaneça viva
depois que a conexão morre. Além disso, desde que eu uso painéis divididos e
janelas com fundo pesado, eu realmente desejo para toda a criança
processos a serem coletados.