Seringkali saya melakukan koneksi ssh pada malam hari ke remote computer yang berada di tempat kerja untuk melakukan
suatu proses yang memakan waktu lama, misalnya melakupan updating system,
mendownload file yang besar seperti ISO, melakukan data scrapping, mengenerate tabel-tabel dari data yang besar, dll. Dengan cara begitu saya banyak menghemat paket internet saya, karena seluruh proses tidak dilakukan di komputer saya. Kemudian baru besoknya saya tinggal mengambil hasilnya di tempat kerja.
Namun bila koneksi terputus, maka proses yang dilakukan di remote computer juga terhenti. Saya harus masuk lagi dan kembali mengulangi atau melanjutkan proses yang terhenti tadi. Sangat mengesalkan, bukan?
Untuk itu, agar proses tidak terhenti meskipun kita disconnect, maka dapat digunakan perintah nohup. Contohnya sebagai berikut:
$ nohup wget http://anyhost.tld/anybigfile.iso &
Dengan perintah demikan, maka proses akan dikerjakan oleh system secara background dan tidak terhenti saat kita memutuskan koneksi.
Namun dengan nohup, output suatu proses disimpan pada file nohup.out. Sehingga untuk melihat proses sudah berlangsung sampai dimana, kita tinggal beri perintah:
$ tail nohup.out
Berikut ini adalah format penulisan perintah nohup:
$ nohup perintah_yang_akan_dieksekusi &
Semoga bermanfaat.
Untuk pengalaman saya pribadi, nohup biasanya hanya saya pakai agar aplikasi tidak mati/close saat saya run dari terminal lalu terminal tersebut saya close.
BalasHapusSedangkan untuk menjalankan remote command dan agar tidak close saat kita logout, saya cenderung menggunakan screen, atau akhir-akhir ini lebih sering menggunakan tmux.
Kalau di komputer sendiri saya tidak close terminal karena saya ingin memantau progressnya.
BalasHapusTentang remote command dengan screen atau tmux, saya belum mengetahui hal tsb. Saya akan pelajari semoga berguna. Terima kasih infonya.