Я новичок в ssh и tmux. Я хочу запустить задачу rake на удаленном сервере через ssh, но я хочу выключить компьютер и продолжить выполнение задачи на сервере. Так что я обнаружил, что tmux с, похоже, делает это, но вчера вечером я получил «ошибку записи, сломанный канал» после того, как я снова подключил сеанс tmux. Мой домашний интернет очень нестабилен, так что я могу получить новый IP, это проблема? Итак, как я могу предотвратить это?
1 ответ
6
Как я понимаю, вы хотите оставить программу работающей на сервере, и программа должна работать в tmux. Чтобы это работало, вы должны запустить tmux на сервере.
Поэтапный
client$ ssh server
server$ tmux
server$ program
[detach from tmux]
server$ exit
client$
Для повторного присоединения вы можете сделать:
client$ ssh server
server$ tmux attach
В одну строку
client$ ssh -t server tmux new program
[detach]
Если вы добавляете ключ -d
в new
сеанс tmux, он не будет подключаться, а будет работать в фоновом режиме. Что-то вроде этого:
client$ ssh -qt server tmux new -d "'program'"
Обратите внимание, что вам нужно заключить команду в двойные кавычки, если она содержит пробелы.
Присоедините с помощью:
ssh -t server tmux attach