GNU/Linux >> Belajar Linux >  >> Linux

Perintah Linux Nohup

nohup perintah mengeksekusi program lain yang ditentukan sebagai argumennya dan mengabaikan semua SIGHUP (menggantung) sinyal. SIGHUP adalah sinyal yang dikirim ke suatu proses ketika terminal pengontrolnya ditutup.

Biasanya, ketika Anda menjalankan program melalui SSH, jika koneksi Anda terputus atau Anda keluar, sesi dihentikan, dan semua proses yang dijalankan dari terminal akan berhenti. Di sinilah nohup perintah berguna. Ini mengabaikan semua sinyal hangup, dan proses akan terus berjalan.

Cara Menggunakan Perintah nohup #

Sintaks untuk nohup perintahnya adalah sebagai berikut:

nohup COMMAND [ARGS]

Perintah tidak menerima opsi lain kecuali --help standar dan --version .

Mari kita lihat contoh berikut:

nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'

nohup menjalankan mycommand perintah di latar depan dan mengarahkan output perintah ke nohup.out mengajukan. File ini dibuat di direktori kerja saat ini. Jika pengguna yang menjalankan perintah tidak memiliki izin menulis ke direktori kerja, file akan dibuat di direktori home pengguna.

Jika Anda logout atau menutup terminal, proses tidak akan dihentikan.

Menjalankan Perintah di Latar Belakang #

Menggunakan nohup di latar depan tidak terlalu berguna karena Anda tidak akan dapat berinteraksi dengan shell sampai perintah selesai.

Untuk menjalankan perintah di latar belakang, tambahkan & simbol di akhir perintah:

nohup mycommand &

Outputnya termasuk ID pekerjaan shell (dikelilingi dengan tanda kurung) dan ID proses:

[1] 25177

Anda dapat menggunakan ID pekerjaan untuk membawa perintah ke latar depan menggunakan fg perintah.

Jika karena alasan tertentu Anda ingin menghentikan proses, gunakan tombol kill perintah diikuti oleh ID proses:

kill -9 25132

Mengalihkan Output ke File #

Secara default, nohup mengarahkan output perintah ke nohup.out mengajukan. Jika Anda ingin mengarahkan output ke file lain, gunakan pengalihan shell standar.

Misalnya, untuk mengarahkan output standar dan kesalahan standar ke mycommand.out Anda akan menggunakan:

nohup mycommand > mycommand.out 2>&1 &

Untuk mengarahkan output standar dan kesalahan standar ke file yang berbeda:

nohup mycommand > mycommand.out 2> mycommand.err &

Alternatif #

Ada beberapa program alternatif yang dapat Anda gunakan untuk menghindari perintah dihentikan saat Anda menutup terminal atau terputus.

Layar #

Screenor GNU Screen adalah program terminal multiplexer yang memungkinkan Anda untuk memulai sesi layar dan membuka sejumlah jendela (terminal virtual) di dalam sesi itu. Proses yang berjalan di Layar akan terus berjalan saat jendelanya tidak terlihat meskipun Anda terputus.

Tmux #

Tmuxis adalah alternatif modern untuk layar GNU. Dengan Tmux, Anda juga dapat membuat sesi dan membuka banyak jendela di dalam sesi itu. Sesi Tmux bersifat persisten, artinya program yang berjalan di Tmux akan terus berjalan meskipun Anda menutup terminal.

Sangkal #

disown adalah shell builtin yang menghapus pekerjaan shell dari kontrol pekerjaan shell. Tidak seperti nohup , Anda dapat menggunakan disown pada proses yang sedang berjalan juga.

Kesimpulan #

nohup memungkinkan Anda untuk mencegah perintah dihentikan saat Anda keluar atau keluar dari terminal.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Cara Menggunakan Perintah Linux nohup

  2. Perintah cd Linux

  3. Opsi Perintah nohup di Linux

  1. Perintah ifconfig Linux

  2. Perintah Waktu Linux

  3. Perintah Ping di Linux