Cara Memulai Perintah Linux di Latar Belakang dan Lepaskan proses di Terminal
- 1121
- 112
- Simon Cormier
Dalam panduan ini, kami akan menyampaikan konsep sederhana namun penting dalam penanganan proses dalam sistem Linux, yaitu bagaimana cara melepaskan proses dari terminalnya yang mengendalikan.
Ketika suatu proses dikaitkan dengan terminal, dua masalah mungkin terjadi:
- Terminal pengendali Anda diisi dengan begitu banyak data output dan pesan kesalahan/diagnostik.
- Jika terminal ditutup, proses bersama dengan proses anaknya akan diakhiri.
Untuk menangani dua masalah ini, Anda perlu melepaskan proses dari terminal yang mengendalikan. Sebelum kita benar -benar pindah untuk menyelesaikan 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 dalam pelaksanaan, seperti contoh perintah tar di bawah ini, cukup tekan Ctrl+z
Untuk menghentikannya lalu masukkan perintah bg
untuk melanjutkan eksekusi di latar belakang sebagai pekerjaan.
Anda dapat melihat semua pekerjaan latar belakang Anda dengan mengetik pekerjaan
. Namun, itu Stdin, stdout, Stderr masih bergabung dengan terminal.
$ tar -czf rumah.ter.GZ . $ bg $ jobsJalankan perintah Linux di latar belakang
Anda juga dapat menjalankan proses langsung dari latar belakang menggunakan Ampersand, &
tanda.
$ tar -czf rumah.ter.GZ . & $ JobsMulai proses Linux di latar belakang
Lihatlah 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 pengendali.
$ tar -czf rumah.ter.GZ . & $ JobsProses Linux berjalan dalam pesan latar belakang
Jaga agar proses Linux berjalan setelah keluarnya terminal
Kami akan menggunakan menyangkal Perintah, digunakan setelah proses A diluncurkan dan diletakkan di latar belakang, pekerjaannya adalah 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, ketika Anda menutup terminal pengendali, pekerjaan tidak akan menggantung atau mengirim Sighup untuk pekerjaan anak mana pun.
Disarankan Baca: 5 cara untuk menjaga sesi dan proses SSH jarak jauh berjalan
Mari kita lihat contoh penggunaan di bawah ini Diswon Fungsi bawaan built-in.
$ sudo rsync template/*/var/www/html/file/& $ jobs $ disownel -h %1 $ jobsSimpan proses Linux berjalan setelah penutupan terminal
Anda juga bisa menggunakan Nohup
perintah, yang juga memungkinkan proses untuk terus berjalan di latar belakang saat pengguna keluar dari shell.
$ nohup tar -czf iso.ter.Templat GZ/* & $ JobsLetakkan proses linux di latar belakang setelah menutup shell
Lepaskan proses Linux dari Terminal Mengontrol
Oleh karena itu, untuk sepenuhnya melepaskan proses dari terminal pengendali, gunakan format perintah di bawah ini, ini lebih efektif untuk antarmuka pengguna grafis (GUI) Aplikasi seperti Firefox:
$ firefox /dev /null &
Di linux, /dev/null adalah file perangkat khusus yang dituliskan (menyingkirkan) semua data yang ditulis untuk itu, dalam perintah di atas, input dibaca dari, dan output dikirim ke /dev/null.
Disarankan Baca: 10 Contoh Perintah Layar untuk melepaskan sesi terminal
Sebagai komentar penutup, asalkan proses terhubung ke terminal pengontrol, sebagai pengguna, Anda akan melihat beberapa baris output dari data proses serta pesan kesalahan di terminal Anda. Sekali lagi, saat Anda menutup terminal pengontrol, proses dan proses anak Anda akan dihentikan.
Yang penting, untuk pertanyaan atau komentar tentang masalah ini, hubungi kami dengan menggunakan formulir komentar di bawah ini.
- « Cara memasang lampu dengan php 7 dan mariadb 10 di ubuntu 16.10
- Pemasangan Ubuntu 16.10 (yakkety yak) desktop »