tmux, como evitar o cano quebrado?

6

Sou novo no ssh e no tmux. Eu quero executar uma tarefa rake em um servidor remoto via ssh, mas eu quero desligar meu computador e quer que a tarefa continue em execução no servidor. Então eu descobri que o tmux parece fazer isso, mas ontem à noite eu recebi um "write error, broken pipe" depois que eu anexei a sessão do tmux. Minha internet em casa internet é muito instável, então eu posso ter um novo IP, isso é um problema? Então, como posso evitar isso?

    
por ThommyH 17.10.2012 / 09:54

1 resposta

6

Pelo que entendi, você quer deixar um programa rodando em um servidor e o programa deve rodar dentro do tmux. Para fazer isso funcionar, você precisa executar o tmux no servidor.

Passo a passo

client$ ssh server
server$ tmux
server$ program

[detach from tmux]

server$ exit
client$

Para recolocar você pode fazer:

client$ ssh server
server$ tmux attach

Em uma linha

client$ ssh -t server tmux new program

[detach]

Se você adicionar a opção -d a new , a sessão do tmux não será anexada, mas será executada em segundo plano. Algo parecido com isto:

client$ ssh -qt server tmux new -d "'program'"

Note que você precisa duplicar o comando se ele contiver espaços em branco.

Reconecte com:

ssh -t server tmux attach
    
por 17.10.2012 / 16:46

Tags