Como posso gerenciar uma sessão do tmux usando o supervisord?

1

Eu quero espelhar os dados de cerca de 15 servidores diferentes que, de forma rápida mas contínua, fornecem arquivos que eu preciso.

Para isso, eu criei um tmux conf que abre 15 tmux-windows com shells que rodam o wget ou outros programas para os downloads individuais em loops (então eles são polling).

Eu quero poder anexar ao tmux para ver o progresso dos downloads ou depurá-los. Além disso, quero poder iniciar, reiniciar e parar todos os downloaders + tmux de uma só vez.

Infelizmente, vou usar o supervisor 3.0. Posso de alguma forma configurar o servidor tmux para matar todas as janelas na saída ou algo assim?

    
por AME 21.01.2014 / 10:48

1 resposta

2

tmux kill-session eliminará uma sessão tmux específica e todos os processos filhos, mas deixará o servidor tmux em execução.

kill-session
         [-a] [-t target-session] Destroy the given session, closing any
         windows linked to it and no other sessions, and detaching all
         clients attached to it.  If -a is given, all sessions but the
         specified one is killed.

tmux kill-server fará o acima para todas as sessões naquele servidor tmux e então irá matar o próprio servidor tmux.

kill-server
         Kill the tmux server and clients and destroy all sessions.

Você também pode precisar configurar um script wrapper para iniciar e parar o tmux, em vez de fazer com que o supervisor o faça diretamente. Veja esta resposta no Stack Overflow .

    
por 24.02.2014 / 19:12