GNU/Linux >> Belajar Linux >  >> Linux

Cara Memulai Perintah Linux di Latar Belakang dan Melepaskan Proses di Terminal

Dalam panduan ini, kami akan menjelaskan konsep sederhana namun penting dalam penanganan proses di sistem Linux, yaitu bagaimana melepaskan proses sepenuhnya dari terminal pengontrolnya.

Ketika sebuah proses diasosiasikan dengan terminal, dua masalah mungkin terjadi:

  1. terminal pengontrol Anda dipenuhi dengan begitu banyak data keluaran dan pesan kesalahan/diagnostik.
  2. jika terminal ditutup, proses bersama dengan proses turunannya akan dihentikan.

Untuk menangani dua masalah ini, Anda harus benar-benar melepaskan proses dari terminal pengontrol. Sebelum kita benar-benar bergerak untuk memecahkan masalah, mari kita bahas secara singkat cara menjalankan proses di latar belakang.

Cara Memulai Proses atau Perintah Linux di Latar Belakang

Jika suatu proses sudah di eksekusi, seperti contoh perintah tar di bawah ini, cukup tekan Ctrl+Z untuk menghentikannya maka masukkan perintah bg untuk melanjutkan eksekusinya di latar belakang sebagai tugas.

Anda dapat melihat semua pekerjaan latar belakang Anda dengan mengetikkan jobs . Namun, stdin , stdout , stderr masih bergabung ke terminal.

$ tar -czf home.tar.gz .
$ bg
$ jobs

Anda juga dapat menjalankan proses langsung dari latar belakang menggunakan ampersand, & tanda.

$ tar -czf home.tar.gz . &
$ jobs

Lihat contoh di bawah ini, meskipun perintah tar dimulai sebagai pekerjaan latar belakang, pesan kesalahan masih dikirim ke terminal yang berarti prosesnya masih terhubung ke terminal pengontrol.

$ tar -czf home.tar.gz . &
$ jobs

Jaga Proses Linux Tetap Berjalan Setelah Keluar dari Terminal

Kami akan menggunakan disown perintah, digunakan setelah proses diluncurkan dan diletakkan di latar belakang, ini berfungsi untuk menghapus pekerjaan shell dari pekerjaan daftar aktif shell, oleh karena itu Anda tidak akan menggunakan fg , bg perintah pada pekerjaan tertentu lagi.

Selain itu, saat Anda menutup terminal pengontrol, pekerjaan tidak akan hang atau mengirim SIGHUP untuk pekerjaan anak mana pun.

Disarankan Baca: 5 Cara agar Sesi dan Proses SSH Jarak Jauh Tetap Berjalan

Mari kita lihat contoh penggunaan diswon di bawah ini fungsi bawaan bash.

$ sudo rsync Templates/* /var/www/html/files/ &
$ jobs
$ disown  -h  %1
$ jobs

Anda juga dapat menggunakan nohup perintah, yang juga memungkinkan proses untuk terus berjalan di latar belakang saat pengguna keluar dari shell.

$ nohup tar -czf iso.tar.gz Templates/* &
$ jobs

Melepaskan Proses Linux Dari Terminal Kontrol

Oleh karena itu, untuk sepenuhnya melepaskan proses dari terminal pengontrol, gunakan format perintah di bawah ini, ini lebih efektif untuk antarmuka pengguna grafis (GUI ) aplikasi seperti firefox:

$ firefox </dev/null &>/dev/null &

Di Linux, /dev/null adalah file perangkat khusus yang menghapus (menghapus) semua data yang ditulis padanya, dalam perintah di atas, input dibaca dari, dan output dikirim ke /dev/null .

Disarankan Baca: 10 Contoh Perintah Layar untuk Melepaskan Sesi Terminal

Sebagai kesimpulan, asalkan suatu proses terhubung ke terminal pengontrol, sebagai pengguna, Anda akan melihat beberapa jalur keluaran dari data proses serta pesan kesalahan di terminal Anda. Sekali lagi, ketika Anda menutup terminal pengontrol, proses dan proses anak Anda akan dihentikan.

Yang penting, untuk pertanyaan atau komentar apa pun tentang masalah ini, hubungi kami dengan menggunakan formulir komentar di bawah.


Linux
  1. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  2. Bagaimana cara menggunakan vi untuk mengedit perintah di terminal di Linux?

  3. Bagaimana cara memulai program linux GUI dari baris perintah, tetapi terpisah dari baris perintah?

  1. Apa itu Perintah Chown di Linux dan Cara Menggunakannya

  2. Cara Mengelola Pekerjaan Latar Belakang Linux dengan Perintah fg dan bg

  3. Cara Menemukan dan Membunuh Proses Zombie di Linux

  1. Bagaimana saya menyeimbangkan fitur dan kinerja di terminal Linux saya

  2. Cara Menjalankan Perintah / Script Shell Linux di Latar Belakang

  3. Perintah Tail Linux:Apa Itu dan Bagaimana Cara Menggunakannya