Pendahuluan
SIGHUP
(Signal Hang UP) adalah sinyal yang menghentikan proses Linux ketika terminal pengontrolnya ditutup. Jika Anda secara tidak sengaja menutup terminal atau kehilangan koneksi dengan server, semua proses yang berjalan pada saat itu secara otomatis dihentikan.
Menggunakan nohup
perintah adalah salah satu cara untuk memblokir SIGHUP
memberi sinyal dan mengizinkan proses untuk diselesaikan bahkan setelah keluar dari terminal/shell.
Dalam artikel ini, Anda akan mempelajari cara menggunakan nohup
perintah saat menjalankan proses.
Sintaks nohup
Sintaks untuk menggunakan nohup
perintahnya adalah:
nohup [command] [argument]
Opsi nohup
nohup
command memiliki dua opsi perintah dasar, --help
dan --version
pilihan.
Untuk menampilkan pesan bantuan, jalankan perintah:
nohup --help
Untuk menampilkan informasi versi, ketik:
nohup --version
Contoh Nohup
Ada beberapa cara untuk menggunakan nohup
perintah, termasuk menjalankan proses yang diperlukan di latar belakang, menjalankan beberapa proses secara bersamaan, atau mengarahkan output ke file yang berbeda.
Contoh di bawah menjelaskan kasus penggunaan umum untuk nohup
perintah.
1. Menjalankan Proses dengan nohup
Untuk menjalankan perintah menggunakan nohup
tanpa argumen apa pun, cukup ikuti sintaks:
nohup [command]
Shell mengabaikan output dan menambahkannya ke nohup.out berkas.
Misalnya, menjalankan example.sh skrip bash (yang sederhana Halo Dunia script) akan meminta Hello World pesan di file nohup.out :
nohup bash example.sh
Verifikasi isi file dengan:
cat nohup.out
2. Menjalankan Proses di Latar Belakang dengan nohup
Menjalankan proses Linux di latar belakang membebaskan terminal tempat Anda bekerja. Untuk menjalankan proses Linux di latar belakang dengan nohup
perintah, tambahkan &
simbol di akhir perintah:
nohup [command] &
Misalnya, untuk menjalankan example.sh skrip bash di latar belakang, gunakan perintah:
nohup bash example.sh &
Output menampilkan ID pekerjaan shell dan ID proses - [1] 7366 dalam contoh di bawah ini.
Untuk menampilkan perintah di latar depan, ketik:
fg
Output menunjukkan apakah proses sedang berlangsung atau selesai.
3. Menjalankan Banyak Proses di Latar Belakang dengan nohup
nohup bach -c '[command1] && [command2]'
Ganti [command1]
dan [command2]
dengan perintah pilihan Anda. Tambahkan lebih banyak perintah jika perlu, pastikan untuk memisahkannya dengan &&
.
Misalnya, untuk menampilkan tanggal/waktu dan kalender bulan berjalan, jalankan:
nohup bash -c 'date && cal'
Karena output diarahkan ke nohup.out file, gunakan perintah cat untuk membuat daftar isi file dan verifikasi perintah di atas:
cat nohup.out
Outputnya menunjukkan tanggal dan kalender yang diminta dengan perintah di atas.
4. Mengarahkan Output ke File Berbeda
Seperti disebutkan di bagian di atas, nohup
mencatat semua pesan keluaran dan kesalahan ke dalam nohub.out berkas.
Arahkan ulang pesan-pesan ini dengan menentukan lokasi khusus dalam perintah:
nohup [command] > /path/to/output/file.txt
Pada contoh di bawah, output untuk perintah nohup bash -c 'date && cal'
dialihkan ke output.txt mengajukan. Periksa output dengan perintah:
cat output.txt