tmux, bagaimana mencegah pipa rusak?

6

Saya baru mengenal ssh dan tmux. Saya ingin menjalankan tugas menyapu di server jauh melalui ssh tapi saya ingin mematikan komputer saya dan ingin tugas terus berjalan di server. Jadi saya menemukan tmux dengan tampaknya melakukan itu, tapi tadi malam saya mendapat "write error, broken pipe" setelah saya memasang kembali sesi tmux. Internet rumah internet saya sangat tidak stabil, jadi saya mungkin mendapat IP baru, apakah itu masalah? Jadi, bagaimana saya bisa mencegah ini?

Thah
sumber
Maksud Anda pemasangan kembali berhasil? atau gagal dengan "tulis kesalahan"? Apakah Anda memulai tmux di komputer lokal atau di server?
Thor
Saya berlari tuxux di maschine saya. Saya lakukan: tmux; ssh server.foo; menyapu sesuatu; tutup terminal + matikan komputer.

Jawaban:

6

Seperti yang saya mengerti, Anda ingin membiarkan program berjalan di server dan program harus berjalan dalam tmux. Untuk membuat ini berfungsi, Anda harus menjalankan tmux di server.

Langkah-bijaksana

client$ ssh server
server$ tmux
server$ program

[detach from tmux]

server$ exit
client$

Untuk memasang kembali Anda dapat melakukan:

client$ ssh server
server$ tmux attach

Dalam satu baris

client$ ssh -t server tmux new program

[detach]

Jika Anda menambahkan -dberalih ke newsesi tmux tidak akan melampirkan, tetapi jalankan di latar belakang. Sesuatu seperti ini:

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

Perhatikan bahwa Anda perlu menggandakan kutipan perintah jika mengandung spasi.

Pasang kembali dengan:

ssh -t server tmux attach
Thor
sumber