Cara Memulakan Perintah Linux Di Latar Belakang dan Melepaskan Proses di Terminal
- 3521
- 813
- Ronnie Hermann
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:
- Terminal mengawal anda dipenuhi dengan banyak data output dan mesej ralat/diagnostik.
- 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 $ pekerjaanJalankan arahan Linux di latar belakang
Anda juga boleh menjalankan proses secara langsung dari latar belakang menggunakan ampersand, &
tanda.
$ tar -czf rumah.tar.Gz . & $ pekerjaanMulakan 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 . & $ pekerjaanProses 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/* & $ PekerjaanLetakkan 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.
- « Cara memasang lampu dengan Php 7 dan Mariadb 10 di Ubuntu 16.10
- Pemasangan Ubuntu 16.10 (Yakkety Yak) Desktop »