Perintah nohup (“no hangup”) mencegah proses berakhir saat pengguna log off. Misalnya, jika administrator meluncurkan skrip cadangan, lalu keluar dari sistem, skrip akan berhenti berjalan. Dengan menempatkan perintah nohup di depan perintah normal, skrip akan terus berlanjut bahkan setelah administrator logout.
Sintaks
Sintaks dari perintah nohup adalah:
# nohup {command/script}
Jika Anda menemukan kesalahan di bawah ini saat menjalankan perintah nohup:
nohup: command not found
Anda dapat mencoba menginstal paket di bawah ini sesuai dengan pilihan distribusi Anda:
Distribusi | Perintah |
---|---|
OS X | brew install coreutils |
Debian | apt-get install coreutils |
Ubuntu | apt-get install coreutils |
Alpin | apk tambahkan coreutils |
Linux Arch | pacman -S coreutils |
Kali Linux | apt-get install coreutils |
CentOS | yum install coreutils |
Fedora | dnf install coreutils |
Raspbian | apt-get install coreutils |
Contoh
1. Menjalankan nohup tanpa menentukan file output
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 sebuah 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 .