I'm new to ssh and tmux. I want to run a rake task on a remote server via ssh but I want to shutdown my computer and want the task continue running on the server. So I discovered tmux with seems to do that, but last night I got an "write error, broken pipe" after i reattached the tmux session. My internet home internet is very instable, so i may got a new IP, is that a problem? So, how can I prevent this?
As I understand you, you want to leave a program running on a server and the program should run within tmux. To make this work you have to run tmux on the server.
client$ ssh server server$ tmux server$ program [detach from tmux] server$ exit client$
To reattach you can do:
client$ ssh server server$ tmux attach
In one line
client$ ssh -t server tmux new program [detach]
If you add
-d switch to
new the tmux session will not attach, but run in the background. Something like this:
client$ ssh -qt server tmux new -d "'program'"
Note that you need to double quote the command if it contains whitespace.
ssh -t server tmux attach