6

Я новичок в ssh и tmux. Я хочу запустить задачу rake на удаленном сервере через ssh, но я хочу выключить компьютер и продолжить выполнение задачи на сервере. Так что я обнаружил, что tmux с, похоже, делает это, но вчера вечером я получил «ошибку записи, сломанный канал» после того, как я снова подключил сеанс tmux. Мой домашний интернет очень нестабилен, так что я могу получить новый IP, это проблема? Итак, как я могу предотвратить это?

1 ответ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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .