Utilitas nohup mengeksekusi baris perintah sedemikian rupa sehingga perintah terus berjalan setelah Anda keluar. Dengan kata lain, nohup menyebabkan proses mengabaikan sinyal SIGHUP. Bergantung pada bagaimana shell lokal dikonfigurasi, proses yang dimulai tanpa nohup dan berjalan di latar belakang mungkin terhenti saat Anda logout.
Sintaks untuk menjalankan perintah nohup
Perintah dasar sytax untuk menjalankan perintah nohup adalah sebagai berikut:
# nohup command_with_options &
Keluaran apa pun dari pekerjaan Anda akan dialihkan ke file bernama ' nohup.out ', kecuali jika Anda menentukan lain dengan
# nohup command > myout.file 2>&1
yang mengirimkan semua output ke file myout.file.
Menyimpan output dari perintah nohup
Jika Anda tidak mengalihkan output dari perintah yang Anda jalankan menggunakan nohup, output standar dan kesalahan standar dikirim ke file bernama nohup.out dalam direktori kerja. Jika Anda tidak memiliki izin menulis untuk direktori kerja, nohup mengirimkan output ke ~/nohup.out .
Anda juga dapat mengirim output ke file lain yang Anda tentukan seperti yang ditunjukkan di atas dalam sintaks perintah.
Contoh
1. Menjalankan nohup tanpa menentukan file keluaran
Mari kita lakukan contoh dan uji bahwa itu benar-benar terus berfungsi setelah Anda keluar. Kami akan memulai skrip yang disebut script.sh. Isi naskahnya adalah sebagai berikut:
# cat script.sh #!/bin/sh while(true) do echo "Hello World!" sleep 10 done
Mari jalankan skrip secara backgroup dengan perintah nohup:
# nohup script.sh & [1] 179 $ nohup: appending output to `nohup.out`
Seperti yang Anda lihat di atas, kami belum menentukan file output. Jadi output standar dan kesalahan standar secara default masuk ke file nohup.out di direktori tempat skrip dipanggil. Juga nomor 179 Menentukan ID proses (PID) pekerjaan. PID ini dapat diverifikasi dalam output perintah “ps -ef” seperti yang ditunjukkan di bawah ini.
Sekarang keluar dari shell, login kembali, dan jalankan perintah berikut:
$ ps x | grep script.sh 179 ? S N 0:01 sh /root/script.sh 506 p2 S 0:00 grep script.sh
Skripnya masih berfungsi. Gunakan “ps -ef | grep ps1” jika sistem Anda tidak mendukung ps x. Anda juga dapat memeriksa file keluaran nohup.out untuk konfirmasi lebih lanjut.
# cat nohup.out Hello World! Hello World! Hello World! Hello World! ...CATATAN :Jika Anda menjalankan perintah lain menggunakan nohup, output akan ditambahkan ke file nohup.out yang ada. Berhati-hatilah saat menjalankan beberapa perintah dari direktori yang sama, karena semua output dikirim ke file nohup.out yang sama, yang dapat membingungkan.
Menjalankan nohup dengan menentukan file keluaran
Sekarang skrip di atas juga dapat menjalankan perintah nohup dan menentukan file output khusus seperti yang ditunjukkan di bawah ini:
# nohup script.sh > /tmp/script.out 2>&1 [1] 14235
Kesimpulan
Jika Anda sedang menjalankan suatu proses dan Anda tidak berpikir itu akan selesai pada saat Anda keluar untuk hari itu, gunakan perintah nohup. Nohup akan terus memproses ketika Anda keluar dari akun Anda. Nohup berarti tidak menutup telepon .