Cara Memulakan Perintah Linux Di Latar Belakang dan Melepaskan Proses di Terminal

Cara Memulakan Perintah Linux Di Latar Belakang dan Melepaskan Proses di Terminal

Dalam panduan ini, kita akan menyampaikan konsep yang mudah namun penting dalam pengendalian proses dalam sistem Linux, iaitu bagaimana untuk melepaskan sepenuhnya proses dari terminal pengendaliannya.

Apabila proses dikaitkan dengan terminal, dua masalah mungkin berlaku:

  1. Terminal mengawal anda dipenuhi dengan banyak data output dan mesej ralat/diagnostik.
  2. Sekiranya terminal ditutup, proses bersama dengan proses anaknya akan ditamatkan.

Untuk menangani kedua -dua isu ini, anda perlu melepaskan sepenuhnya proses dari terminal kawalan. Sebelum kita benar -benar bergerak untuk menyelesaikan masalah ini, marilah kita meliputi secara ringkas cara menjalankan proses di latar belakang.

Cara Memulakan Proses Linux atau Perintah di Latar Belakang

Sekiranya proses sudah dilaksanakan, seperti contoh arahan tar di bawah, hanya tekan Ctrl+z untuk menghentikannya kemudian masukkan arahan BG untuk meneruskan pelaksanaannya di latar belakang sebagai pekerjaan.

Anda boleh melihat semua pekerjaan latar belakang anda dengan menaip pekerjaan. Walau bagaimanapun, ia stdin, stdout, stderr masih bergabung dengan terminal.

$ tar -czf rumah.tar.Gz . $ bg $ pekerjaan 
Jalankan arahan Linux di latar belakang

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

$ tar -czf rumah.tar.Gz . & $ pekerjaan 
Mulakan proses Linux di latar belakang

Lihat contoh di bawah, walaupun arahan tar dimulakan sebagai pekerjaan latar belakang, mesej ralat masih dihantar ke terminal yang bermaksud proses itu masih disambungkan ke terminal kawalan.

$ tar -czf rumah.tar.Gz . & $ pekerjaan 
Proses linux berjalan dalam mesej latar belakang

Pastikan proses linux berjalan selepas keluar terminal

Kami akan menggunakannya menyangkal Perintah, ia digunakan selepas proses A telah dilancarkan dan dimasukkan FG, BG memerintahkan pekerjaan itu lagi.

Di samping itu, apabila anda menutup terminal kawalan, pekerjaan itu tidak akan menggantung atau menghantar a Sighup kepada mana -mana pekerjaan kanak -kanak.

Cadangan Baca: 5 cara untuk menjaga sesi dan proses SSH jauh

Mari kita lihat contoh di bawah menggunakan diswon Fungsi terbina dalam bash.

$ sudo templat rsync/*/var/www/html/fail/& $ pekerjaan $ disown -h %1 $ 
Pastikan proses linux berjalan selepas tutup terminal

Anda juga boleh menggunakan nohup perintah, yang juga membolehkan proses untuk terus berjalan di latar belakang apabila pengguna keluar dari cangkang.

$ noHup tar -czf ISO.tar.Templat Gz/* & $ Pekerjaan 
Letakkan proses Linux di latar belakang selepas menutup kerang

Lepaskan proses Linux dari kawalan terminal

Oleh itu, untuk melepaskan sepenuhnya proses dari terminal kawalan, gunakan format arahan di bawah, ini lebih berkesan untuk antara muka pengguna grafik (GUI) Aplikasi seperti Firefox:

$ firefox /dev /null & 

Di Linux, /dev/null adalah fail peranti khas yang menulis (menyingkirkan) semua data yang ditulis kepadanya, dalam arahan di atas, input dibaca dari, dan output dihantar ke /dev/null.

Cadangan Baca: 10 Contoh Perintah Skrin Untuk Melepaskan Sesi Terminal

Sebagai kenyataan akhir, dengan syarat proses disambungkan ke terminal kawalan, sebagai pengguna, anda akan melihat beberapa baris output data proses serta mesej ralat di terminal anda. Sekali lagi, apabila anda menutup terminal yang mengawal, proses dan proses anak anda akan ditamatkan.

Yang penting, untuk sebarang pertanyaan atau ucapan mengenai subjek, hubungi kami dengan menggunakan borang komen di bawah.