Veja os comandos:
e amigos no pacote run-one no Ubuntu.
Basta colocar seu comando em um desses, conforme apropriado.
Divulgação completa: Eu sou o autor do Byobu , bem como o conjunto de utilidades executadas.
Eu preciso de uma maneira de reiniciar imediatamente o processo principal em um painel tmux depois que o painel tiver terminado o processo.
Eu uso o byobu-tmux para executar vários componentes de um aplicativo cliente-servidor (grails) que estou desenvolvendo. Eu escrevi um script de shell que abre painéis e inicia todos os componentes:
byobu-tmux split-window -h "sleep 10; <client-1-start-script>"
byobu-tmux split-window -t 1 -v -p 66 "sleep 10; <client-2-start-script>"
byobu-tmux split-window -t 2 -v -p 50 "sleep 10; <client-3-start-script>"
byobu-tmux split-window -t 0 -v "<server-start-script>"
Esse script funciona, mas, como você pode esperar do tmux, sempre que você mata uma das partes, ele fecha esse painel. Eu também tentei adicionar um wrapper bash:
byobu-tmux split-window <opts> "<script>; byobu-tmux respawn-pane"
e use um ambiente explícito de bash:
byobu-tmux split-window <opts> "bash -i -c \"<script>\""
Esta questão demonstra como manter o painel aberto, mas existe alguma maneira de obter o comando que foi executado na criação do painel para executar novamente em vez de fechar o painel?
Veja os comandos:
e amigos no pacote run-one no Ubuntu.
Basta colocar seu comando em um desses, conforme apropriado.
Divulgação completa: Eu sou o autor do Byobu , bem como o conjunto de utilidades executadas.