Jika Anda seorang pengembang Linux, Anda tahu pentingnya konsistensi dan keandalan sesi Anda. Proses yang berjalan lama di Linux harus dilanjutkan bahkan setelah Anda keluar dari suatu sesi. Untungnya, Linux memiliki perintah fungsional untuk tujuan ini. Itu perintah nohup memungkinkan Anda menjaga perintah tetap berjalan tanpa gangguan di latar belakang. Dengan cara ini mencegah kehilangan data dan menghemat waktu yang berharga. Panduan ini akan memandu Anda melalui semua yang perlu Anda ketahui tentang perintah nohup Linux, mulai dari sintaksis dan opsinya hingga contoh praktis dan pemecahan masalah kesalahan umum.
Memahami Sintaks nohup Linux
Perintah nohup mudah digunakan dan lugas. Ini memungkinkan Anda menjalankan perintah atau skrip di latar belakang sehingga Anda yakin perintah atau skrip tersebut terus dijalankan bahkan setelah Anda keluar dari terminal. Berikut cara menggunakannya:
nohup [command] [arguments] &
Anda harus mengganti [memerintah] dengan perintah atau skrip yang ingin Anda jalankan. Dan [argumen] adalah argumen atau opsi apa pun yang diperlukan oleh perintah. Itu & simbol mengirimkan perintah untuk dijalankan di latar belakang. Mari kita lihat contohnya:
nohup myscript.sh &
Dalam contoh ini, myscript.sh adalah skrip bash yang akan terus berjalan meskipun Anda menutup terminal. Outputnya akan diarahkan ke file bernama nohup.out secara default kecuali Anda menentukan jalur lain.
Menjelajahi Opsi nohup
Meskipun perintah nohup sendiri tidak memiliki banyak pilihan, memahami cara menggunakannya secara efektif dengan berbagai perintah dan teknik pengalihan dapat meningkatkan kinerjanya. Pertama, mari kita lihat bagaimana kita bisa mendapatkan informasi tentang perintah nohup:
nohup –-help nohup --version
Kedua perintah ini memberi Anda beberapa informasi berguna dengan menampilkan pesan bantuan dan versi nohup.
Menjalankan Proses dengan Perintah nohup
Jika Anda ingin menjalankan proses dengan perintah nohup, Anda dapat mengikuti struktur yang sama seperti yang saya jelaskan di bagian terakhir:
nohup [command]
Jika Anda ingin menjalankan suatu proses di latar belakang, tambahkan saja & sampai akhir perintah Anda.
Menjalankan Banyak Proses di Latar Belakang Dengan Perintah nohup
Sekarang, bagaimana jika Anda ingin menjalankan lebih dari satu proses di latar belakang menggunakan perintah nohup?
nohup bash -c '[command A] && [command B]' &
Mengganti [perintah A] Dan [perintah B] dengan perintah yang ingin Anda jalankan di latar belakang. Bayangkan Anda ingin memperbarui paket sistem terlebih dahulu dan kemudian membersihkan file yang tidak diperlukan dan Anda ingin melakukannya menggunakan perintah nohup:
nohup bash -c 'sudo apt-get update && sudo apt-get autoremove -y' &
Dalam contoh ini, tidak memungkinkan proses pembaruan dan pembersihan terus berjalan di latar belakang. Jadi tugas pemeliharaan sistem Anda selesai tanpa mengharuskan Anda membiarkan terminal tetap terbuka.
Mengarahkan Output Kustom
Output dari proses ini akan diarahkan ke nohup.out secara default. Tetapi bagaimana jika Anda ingin menerima keluaran di jalur lain? Inilah cara Anda melakukannya:
nohup [command] > [/path/to/new/output.txt]
Ingatlah untuk mengganti nilai di [] dengan perintah dan jalur file yang Anda inginkan.
Menggabungkan nohup dengan Perintah Lain
nohup dapat dikombinasikan dengan perintah dan pipa lain untuk menciptakan rantai perintah yang kuat. Mari kita lihat contohnya:
nohup find / -name "*.log" | xargs grep "ERROR" > error_logs.txt 2>&1 &
Di sini, itu menemukan perintah digunakan untuk mencari file log dan memahami digunakan untuk mencari istilah “ERROR”. Output gabungan dialihkan ke kesalahan_logs.txt.
Di bagian ini, kami membahas opsi paling umum dan kasus penggunaan perintah nohup. Dengan menguasai instruksi ini Anda dapat menggunakan nohup secara efektif untuk menjalankan proses Linux di latar belakang.
Kesalahan Umum dan Pemecahan Masalah
Menggunakan perintah nohup umumnya mudah, tetapi Anda mungkin menghadapi beberapa kesalahan umum selama proses tersebut. Memahami kesalahan ini dan mengetahui cara memecahkan masalah dapat menghemat waktu dan frustrasi Anda. Jadi, mari kita lihat apa saja kesalahan umum ini dan cara mengatasinya:
Izin Ditolak
Kesalahan ini terjadi ketika skrip atau perintah yang Anda coba jalankan tidak memiliki izin eksekusi. Output dari kesalahannya terlihat seperti ini: nohup: gagal menjalankan perintah 'myscript.sh': Izin ditolak
Untuk mengatasi masalah ini, Anda perlu memastikan bahwa skrip atau perintah memiliki izin yang benar. Anda dapat menambahkan izin eksekusi menggunakan chmod memerintah:
chmod +x myscript.sh nohup ./myscript.sh &
Perintah Tidak Ditemukan
Kesalahan ini terjadi jika perintah atau skrip tidak ditemukan di lokasi yang ditentukan atau tidak tersedia di PATH Anda. Output dari kesalahannya terlihat seperti ini: nohup: gagal menjalankan perintah 'myscript.sh': Tidak ada file atau direktori tersebut
Untuk mengatasi kesalahan ini Anda harus memverifikasi bahwa perintah atau skrip ada dan berada di direktori yang benar. Anda mungkin perlu memberikan jalur absolut ke skrip:
nohup /path/to/myscript.sh &
Pastikan juga bahwa perintah tersebut diinstal dan tersedia di PATH Anda.
Tidak Ada Keluaran
Terkadang, Anda mungkin memperhatikan bahwa tidak ada keluaran di terminal atau di file keluaran. Jika perintah menghasilkan output, tetapi Anda tidak melihatnya, perintah tersebut mungkin dialihkan ke jalur selain file default atau mungkin ada masalah dengan izin file. Untuk mengatasi masalah ini, Anda perlu menentukan file output secara eksplisit untuk memastikan file dialihkan dengan benar:
nohup myscript.sh > output.log 2>&1 &
Sebagai contoh, perintah ini mengalihkan keluaran standar dan kesalahan standar ke file bernama output.log.
Skrip Tidak Berjalan di Latar Belakang
Terkadang, skrip atau perintah Anda tampak berjalan, namun tidak di latar belakang. Alasannya biasanya sederhana. Anda mungkin lupa menambahkan & simbol di akhir perintah untuk menjalankannya di latar belakang. Solusinya juga sederhana, pastikan Anda telah menambahkannya dan Anda siap melakukannya.
Proses Menggantung atau Tidak Responsif
Proses yang dimulai dengan nohup mungkin terhenti atau menjadi tidak responsif. Hal ini dapat terjadi jika proses menunggu masukan atau jika ada masalah dengan sumber daya yang coba diakses. Ada dua solusi untuk masalah ini:
- Periksa Input yang Diperlukan: Pastikan perintah tidak memerlukan masukan interaktif apa pun.
- Masalah Sumber Daya: Verifikasi bahwa perintah memiliki akses ke sumber daya yang diperlukan (misalnya file, jaringan).
Menimpa nohup.out
Jika Anda menjalankan beberapa proses di latar belakang menggunakan perintah nohup, Anda mungkin secara tidak sengaja menimpanya nohup.out mengajukan. Untuk menghindari masalah ini, Anda dapat memilih jalur spesifik untuk setiap proses. Dengan cara ini setiap proses memiliki file keluaran uniknya dan jalur default tidak ditimpa.
Dengan mempelajari kesalahan umum nohup dan solusinya, Anda dapat menggunakan perintah nohup tanpa kesulitan apa pun.
Kesimpulan
Perintah nohup adalah alat yang hebat untuk setiap pengguna Linux yang perlu menjalankan proses di latar belakang karena perintah ini memastikan proses Anda terus berjalan bahkan setelah logout. Dalam panduan ini, kami membahas sintaks dasar, menjelajahi berbagai opsi, dan mendiskusikan kesalahan umum beserta tip pemecahan masalah. Menguasai perintah nohup memungkinkan Anda mengelola tugas-tugas jangka panjang secara efisien yang meningkatkan produktivitas dan keterampilan manajemen sistem Anda.
Jika Anda seorang pengembang Linux yang ingin memaksimalkan pengalaman Linux Anda, pertimbangkan untuk meningkatkan ke versi yang andal VPS Linux. Layanan VPS berbasis cloud kami menawarkan dukungan 24/7 dan jaminan uptime 99,95% yang berarti aplikasi Anda berjalan lancar setiap saat dan Anda bisa mendapatkan bantuan kapan saja sepanjang hari. Dengan infrastruktur yang kuat dan sumber daya yang andal, VPS kami dirancang untuk memenuhi permintaan programmer Linux. Selain itu, distribusi Linux pilihan Anda sudah terinstal sebelumnya, sehingga pengaturannya menjadi cepat dan mudah. Tingkatkan proyek Linux Anda ke level berikutnya dengan VPS yang memberikan kekuatan dan fleksibilitas yang Anda perlukan.
Pertanyaan Umum
Apa perbedaan antara tidak Dan &?
tidak mencegah suatu proses dihentikan ketika pengguna logout, sementara & menjalankan proses di latar belakang. Menggunakan tidak memastikan proses berlanjut setelah logout, dan menggabungkannya dengan & memungkinkannya berjalan di latar belakang.
Mengapa nohup digunakan?
tidak digunakan untuk memastikan bahwa perintah atau skrip terus berjalan bahkan setelah pengguna logout atau terminal ditutup. Hal ini penting untuk proses yang berjalan lama dan harus tetap aktif tanpa campur tangan pengguna.
Apa itu file nohup out?
Itu nohup.out file adalah file keluaran default tempat nohup mengalihkan keluaran standar dan kesalahan standar suatu perintah. Jika tidak ada file keluaran lain yang ditentukan, keluaran perintah disimpan nohup.out di direktori saat ini.