Misalnya, Anda menjalankan proses di server jauh melalui sesi SSH dari sistem lokal Anda. Anda tidak tahu bahwa pekerjaan jarak jauh akan memakan waktu lama untuk diselesaikan. Anda hanya ingin meninggalkan pekerjaan yang sedang berjalan di server jarak jauh itu sendiri, dan menutup sesi SSH tanpa menghentikan pekerjaan jarak jauh, dan kemudian melampirkannya kembali ke sesi SSH nanti atau di hari berikutnya. Tentu saja, Anda dapat memulai pekerjaan di screen/tmux sesi, dan lepaskan dari sesi layar tanpa keluar dari pekerjaan jarak jauh, dan keluar dari sesi SSH. Tetapi jika Anda lupa memulai sesi layar sejak awal, tidak ada cara untuk memasang kembali ke proses yang sedang berjalan nanti. Setelah Anda menutup sesi SSH, proses yang berjalan juga akan ditutup pada sistem jarak jauh. Jadi, apa yang akan Anda lakukan dalam kasus seperti itu? Tidak masalah. Di sinilah Reptir perintah datang membantu.
Reptir adalah alat baris perintah untuk memindahkan proses yang berjalan antara ptys. Mulai saja proses yang membutuhkan waktu lama untuk diselesaikan di sistem jarak jauh Anda melalui sesi SSH dari Desktop atau Laptop lokal Anda, dan tutup sesi SSH, pulang, dan pasang kembali proses yang sedang berjalan pada hari berikutnya. Selain itu, Anda dapat dengan mudah memigrasi/memindahkan proses yang berjalan lama dari satu Terminal ke Terminal lain secara instan tanpa harus menghentikannya. Kedengarannya berguna? Tentu saja!
Unduh - eBuku Gratis:"6 Alat Baris Perintah Linux yang Berguna untuk Administrator Sistem"Tutorial singkat ini menjelaskan cara memindahkan proses yang sedang berjalan ke terminal baru menggunakan perintah Reptyr.
Instal Reptyr di sistem jarak jauh Anda
Catatan: Sistem jarak jauh Anda harus memiliki tmux atau layar diinstal untuk memindahkan proses yang sedang berjalan.
Di Arch Linux dan turunannya, jalankan:
$ sudo pacman -S reptyr
Dalam sistem berbasis DEB, jalankan perintah berikut untuk menginstal Reptyr:
$ sudo apt-get install reptyr
Untuk menginstal screen atau tmux, jalankan:
$ sudo apt-get install tmux screen
Pada RHEL / CentOS / Scieintific Linux / Fedora, reptyr tidak tersedia di repositori. Jadi, Anda dapat mengkompilasi dan menginstalnya seperti yang ditunjukkan di bawah ini.
Instal prasyarat berikut:
$ sudo yum install git tmux screen
$ sudo yum groupinstall 'development tools'
Git clone reptyr repositori dengan perintah sebagai pengguna root:
$ git clone https://github.com/nelhage/reptyr.git
Buka direktori reptyr:
$ cd reptyr/
Jalankan perintah berikut untuk mengompilasi dan menginstalnya.
$ make
$ sudo make install
Saya mengkompilasi dan menginstal Reptyr dari sumber dalam edisi server CentOS 7 64 bit, dan itu bekerja dengan cukup baik seperti yang dijelaskan di atas.
Memindahkan Proses yang Berjalan Dari Satu Terminal Ke Terminal Lain Tanpa Menutupnya Menggunakan Reptyr
Biasanya, kami terhubung ke server jarak jauh dari sistem lokal mana pun melalui SSH seperti yang ditunjukkan di bawah ini.
# ssh [email protected]_Of_remote_system
Setelah Anda terhubung ke sistem jarak jauh, mulailah proses yang berjalan lama. Sebagai contoh, saya akan mengunduh ISO desktop Ubuntu 16.04 menggunakan wget perintah.
# wget http://cdimage.ubuntu.com/daily-live/current/xenial-desktop-amd64.iso
Contoh keluaran:
Seperti yang Anda lihat pada tangkapan layar di atas, total ukuran unduhan adalah 1,5 GB, dan akan memakan waktu lebih dari 90 menit untuk menyelesaikannya.
Saya tidak ingin menunggu lebih lama lagi, dan saya juga tidak ingin keluar dari pekerjaan jarak jauh.
Jadi, yang akan saya lakukan adalah memulai layar atau tmux sesi di Terminal baru, gunakan reptyr utilitas untuk mengambil proses yang berjalan di dalam layar atau sesi tmux. Terakhir, saya akan menghentikan kedua sesi ssh, dan menyambungkan kembali ke proses yang sedang berjalan kapan pun saya mau.
Mari kita buka jendela Terminal baru atau tab baru, dan mulai layar atau sesi tmux dengan mengetik screen atau tmux di Terminal:
# screen
atau
# tmux
Seperti yang Anda lihat pada tangkapan layar di atas, sesi layar telah dimulai dan sedang berjalan.
Sekarang, mari kita cari proses yang sedang berjalan dari Terminal baru dengan menggunakan perintah berikut:
# ps -a
Contoh keluaran:
PID TTY TIME CMD 2320 pts/0 00:00:11 wget 2343 pts/1 00:00:00 screen 2358 pts/2 00:00:00 ps
Catat PID untuk wget proses, dan lampirkan proses yang berjalan di dalam sesi layar menggunakan perintah:
# reptyr 2320
Selesai! Seperti yang Anda lihat pada tangkapan layar di atas, proses wget telah dipindahkan (dimigrasikan) dari Terminal lama ke jendela Terminal baru (yang berjalan dengan sesi layar).
Setelah Anda memindahkan proses yang sedang berjalan dari Terminal asli, proses tersebut akan segera ditutup, dan mulai melanjutkan proses yang kami tinggalkan di Terminal baru.
Sekarang, Anda dapat melepaskan atau menutup terminal dengan aman dan pekerjaan akan terus berjalan di server jauh Anda.
Untuk melepaskan dari layar atau sesi tmux, tekan CTRL+A+D .
Setelah Anda keluar dari sesi layar, pesan berikut akan muncul.
[detached from 2344.pts-1.server1]
Untuk memasang kembali proses yang sedang berjalan, SSH ke sistem jarak jauh Anda:
# ssh [email protected]
Di sini. 192.168.1.150 adalah alamat IP server jarak jauh saya.
Dan jalankan perintah berikut jika Anda menggunakan sesi layar:
# screen -Dr
Untuk sesi tmux, jalankan:
# tmux attach
Voila! Proses yang berjalan telah disambungkan kembali, dan Anda akan melihat di sana bahwa proses tersebut masih berjalan.
Seperti yang Anda lihat pada tangkapan layar di atas, pekerjaan wget tidak terganggu atau dihentikan, dan masih berjalan. Ini akan terus berjalan selama sistem jarak jauh Anda aktif dan berjalan.
Ringkasan
Singkatnya, Reptyr adalah alat yang sangat penting dan berguna untuk administrator sistem Linux di tingkat mana pun. Jika Anda muak dengan proses yang membutuhkan waktu sangat lama untuk diselesaikan, Reptyr pasti akan sangat membantu. Cukup buka jendela Terminal baru, SSH ke server jarak jauh Anda, temukan ID proses yang sedang berjalan, dan pindahkan dengan aman ke dalam layar atau sesi tmux, dan keluar dari sesi SSH. Untuk detail lebih lanjut, lihat link terlampir di akhir tutorial ini.
Bacaan yang disarankan:
- Mulai Otomatis Sesi Tmux Pada Sistem Jarak Jauh Saat Masuk Melalui SSH
- Cara Menampilkan Informasi Proses Menggunakan Procs Di Linux
- Tmate - Bagikan Terminal Anda Secara Instan Kepada Siapa Saja Dari Mana Saja
- Cara Mengubah Jenis Dan Ukuran Font Konsol Linux
- Cara Mengunci Sesi Konsol Virtual di Linux
- Cara Beralih Antar TTY Tanpa Menggunakan Tombol Fungsi Di Linux
Itu saja untuk saat ini. Kalau begitu, saya meninggalkan Anda untuk berkenalan dengan alat yang berguna ini. Cobalah, dan Anda tidak akan kecewa.
Tautan referensi:
- Reptyr GitHub
- Panduan reptyr