Saat keluar dari shell Sistem Linux, semua proses yang berjalan biasanya dihentikan atau ditutup. Jadi apa yang Anda lakukan Jika Anda masih ingin proses tetap berjalan bahkan keluar dari shell/terminal? Di sinilah perintah nohup masuk.
Perintah Nohup
Nohup, kependekan dari no hang up adalah perintah di sistem Linux yang membuat proses tetap berjalan bahkan setelah keluar dari shell atau terminal.
Nohup mencegah proses atau pekerjaan menerima sinyal SIGHUP (Signal Hang UP). Ini adalah sinyal yang dikirim ke proses saat menutup atau keluar dari terminal. Dalam panduan ini, kita akan melihat perintah nohup dan mendemonstrasikan cara penggunaannya.
Sintaks Perintah Nohup
Sintaks perintah Nohup adalah sebagai berikut;
nohup command arguments
ATAU
nohup options
Mari kita lihat bagaimana perintah itu berperan
Memeriksa versi Nohup
Anda dapat mulai dengan memeriksa versi Nohup menggunakan sintaks di bawah
nohup --version
Keluaran
Memulai proses menggunakan Nohup
Jika Anda ingin proses/pekerjaan Anda tetap berjalan, awali perintah dengan nohup
seperti yang ditunjukkan di bawah ini. Pekerjaan akan tetap berjalan di shell dan tidak akan mati setelah keluar dari shell atau terminal.
nohup ./hello.sh
Keluaran
Dari output di atas, output dari perintah telah disimpan ke nohup.out
untuk memverifikasi proses ini,
cat nohup.out
Keluaran
Selain itu, Anda dapat memilih untuk mengarahkan output ke file lain seperti yang ditunjukkan
nohup ./hello.sh > output.txt
Sekali lagi, untuk melihat file, jalankan
cat output.txt
Keluaran
Untuk mengarahkan ulang ke file dan ke kesalahan standar dan output gunakan > filename 2>&1
atribut seperti yang ditunjukkan
nohup ./hello.sh > myoutput.txt >2&1
Keluaran
Memulai proses di latar belakang menggunakan Nohup
Untuk memulai proses di latar belakang, gunakan &
simbol di akhir perintah. Dalam contoh ini, kami melakukan ping ke google.com dan mengirimkannya ke latar belakang.
nohup ping google.com &
Keluaran
Untuk memeriksa proses saat melanjutkan shell gunakan pgrep
perintah seperti yang ditunjukkan
pgrep -a ping
Keluaran
Jika Anda ingin menghentikan atau mematikan proses yang sedang berjalan, gunakan tombol kill
perintah diikuti oleh ID proses seperti yang ditunjukkan
kill 2565
Keluaran
Ringkasan
- Semua proses yang dijalankan menggunakan perintah nohup akan mengabaikan sinyal SIGHUP bahkan setelah keluar dari shell.
- Setelah pekerjaan dimulai atau dijalankan menggunakan perintah nohup, stdin tidak akan tersedia bagi pengguna.
- Secara default,
nohup.out
digunakan sebagai file default untuk stdout dan stderr.