OK saya baru dalam hal ini. Saya menginstal tmux
untuk menjalankan percobaan beberapa hari. Setelah mengetik tmux new -s name
saya mendapat jendela baru dengan spanduk hijau di bagian bawah. Saya mengkompilasi dan menjalankan program java. Sekarang saya tidak tahu cara keluar dari jendela (sambil membiarkannya berjalan). Kursor bash (atau apa pun) tidak merespons karena program java masih berjalan. Solusi saya sejauh ini adalah keluar dari program Terminal sepenuhnya dan buka kembali. Ada ide tentang cara keluar dari jendela tmux tanpa keluar dari seluruh program Terminal?
80
man tmux | less -p detach
Jawaban:
Lepaskan dari sesi yang terlampir saat ini
Sidang
Ctrl+ b datau Ctrl+b
:detach
Layar
Ctrl+ a Ctrl+ datau Ctrl+a
:detach
sumber
tmux attach
untuk memasuki sesi terbuka lagi setelah menghubungkan kembali.ENTER ~ .
ini Tampaknya lebih baik.Saya yakin, jawaban sebelumnya tidak lengkap. Apa yang
:detach
dilakukan adalah mematikan viewports yang menampilkan aktivitas tmux. Namun, tmux sendiri masih berjalan di latar belakang seperti yang Anda lihat dengan menjalankanps
:myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
Bahkan, bahkan jika Anda keluar dari terminal dan memulainya lagi, semua proses tmux masih berjalan di latar belakang.
Untuk benar-benar membunuh proses tmux itu sendiri, Anda harus melakukan:
tmux kill-session [-t session_name]
atau hanya:
kill -9 1799
sumber
tmux attach-session
.kill -9
benar-benar cara yang salah (tm) untuk melakukan ini. Ini mengirimkanSIGKILL
sinyal yang tidak akan membiarkan proses untuk membersihkan sendiri, yang dapat menyebabkan masalah serius dengan sumber daya yang menggantung.SIGKILL
seharusnya hanya digunakan ketika suatu proses telah dengan sopan diminta untuk membersihkan dan mematikan melaluiSIGTERM
atau serupa dan, untuk alasan apa pun, menolak untuk melakukannya; bahkan kemudian, seseorang harus tetap menghindari pengirimanSIGKILL
jika mereka bisa. Jawaban ini menyimpulkan (salah) bahwa itu harus menjadi salah satu hal pertama yang harus dilakukan seseorang untuk mematikan proses latar belakang seperti server tmux.