GNU/Linux >> Belajar Linux >  >> Linux

Contoh Perintah Nohup – Menjalankan Perintah yang Terus Berjalan setelah Anda Keluar

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 .


Linux
  1. 4 Cara Agar Perintah Tetap Berjalan Setelah Anda Keluar Dari Sesi SSH

  2. 4 Cara Mengetahui Core CPU yang menjalankan Proses tertentu di Linux

  3. Contoh Perintah Waktu Linux

  1. Tutorial Perintah Linux pinky untuk Pemula (8 Contoh)

  2. 20 Contoh Perintah OpenSSL yang harus anda ketahui

  3. Bagaimana membuat program terus berjalan setelah keluar dari ssh?

  1. Inilah semua yang dapat Anda lakukan dengan Nmap – Contoh Perintah

  2. Bagaimana Cara Anda Mencatat Setiap Perintah yang Diketik?

  3. 12 Contoh Opsi Format Output Perintah Waktu UNIX / Linux