Cara menjalankan perintah di latar belakang di linux

- 1031
- 243
- Enrique Purdy
Menjalankan perintah atau proses di latar belakang pada sistem Linux menjadi tugas umum jika Anda perlu membebaskan terminal Anda atau memutuskan sambungan dari sesi SSH. Ini terutama berlaku untuk perintah yang berjalan untuk waktu yang lama, baik untuk mendengarkan acara atau menyelesaikan tugas panjang mereka.
Kami memiliki beberapa opsi di Linux untuk menjalankan perintah di latar belakang. Dalam panduan ini, kami akan membahas beberapa metode berbeda dan menunjukkan kepada Anda cara menggunakannya melalui contoh.
Dalam tutorial ini Anda akan belajar:
- Cara memasukkan perintah berjalan ke latar belakang
- Cara Memulai Perintah di Latar Belakang
- Bagaimana menutup terminal dan menjaga pekerjaan latar belakang berjalan
- Cara menggunakan perintah layar

Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distro Linux apa pun |
Perangkat lunak | Utilitas Linux Default, Layar |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah. |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Masukkan perintah berjalan ke latar belakang
Saat Anda menjalankan perintah yang ingin terus berjalan untuk waktu yang lama, masalahnya adalah terminal Anda saat ini didedikasikan untuk perintah tersebut. Anda tidak dapat terus menggunakan terminal, dan Anda juga tidak dapat menutupnya, karena itu akan mengakhiri perintah yang saat ini sedang dijalankan.
Jika Anda memiliki perintah yang berjalan, dan perlu memasukkannya ke latar belakang untuk membebaskan terminal Anda, Anda dapat menekan Ctrl + z
di keyboard Anda untuk menghentikan proses. Inilah contohnya.
$ tidur 10000 ^z [1]+ berhenti tidur 10000
Untuk melihat daftar pekerjaan di latar belakang, gunakan pekerjaan
memerintah.
$ jobs -l [1]+ 1650 berhenti tidur 10000
Untuk membawa pekerjaan kembali ke latar depan, kami dapat menggunakan FG
memerintah.
$ fg
Jika kami memiliki beberapa pekerjaan yang berhenti, kami perlu menggunakan tanda persen dan menentukan ID pekerjaan untuk membawa yang sesuai kembali ke latar depan.
$ fg %1
Hebat, sekarang kita bisa menempatkan proses ke latar belakang dan membawanya kembali saat kita menginginkannya nanti. Tapi bagaimana jika kita ingin perintah untuk terus mengeksekusi saat berada di latar belakang? Untuk itu, kita dapat menggunakan bg
perintah, diikuti oleh ampersand dan ID pekerjaan. Perintah berikut akan membuat resume pekerjaan kami yang berhenti, sambil menjaganya di latar belakang.
$ bg %1 [1]+ tidur 100.000 &
Sekarang kita dapat melihat bahwa prosesnya masih di latar belakang, tetapi itu menunjukkan status "berlari" alih -alih "berhenti."
$ jobs -l [1]+ 1650 Berlari tidur 10000 &
Masih ada satu hal yang perlu diingat. Anda tidak dapat menutup terminal Anda saat ini, atau pekerjaan latar belakang ini akan ditutup. Jika Anda perlu menutup terminal Anda, dan tidak ingin perintah ini berhenti, maka Anda perlu "menolak" pekerjaan. Jika Anda hanya memiliki satu pekerjaan di latar belakang, perintah berikut akan berfungsi:
$ Disownel
Jika Anda memiliki banyak, maka Anda harus menentukan ID pekerjaan.
$ Disownel %1
Anda tidak akan lagi melihat pekerjaan di tabel pekerjaan Anda saat Anda menjalankan pekerjaan
memerintah. Sekarang aman untuk menutup terminal dan perintah Anda akan terus berjalan.
$ JOBS -L
Anda masih dapat mengawasi perintah lari Anda dengan menggunakan perintah ps.
$ ps aux | grep sleep linuxco+ 1650 0.0 0.0 8084 524 poin/0 s 12:27 0:00 Tidur 10000
Dan jika Anda ingin menghentikan perintah dari berjalan, Anda dapat menggunakan perintah kill dan menentukan ID proses.
$ Bunuh 1650
Mulai perintah di latar belakang
Sekarang kita telah melihat bagaimana menempatkan proses berjalan ke latar belakang dan mengingatnya nanti. Tetapi kami juga memiliki opsi untuk hanya memulai perintah di latar belakang di awal. Yang perlu Anda lakukan adalah meletakkan ampersand di akhir perintah Linux apa pun.
$ tidur 10000 & [1] 1900
Sama seperti sebelumnya, kita dapat melihat pekerjaan yang terdaftar dengan pekerjaan
memerintah. Namun, kali ini, pekerjaan sudah berjalan dan kami tidak harus memulainya secara manual di latar belakang.
$ jobs -l [1]+ 1900 Berlari tidur 10000 &
Terminal Tutup dan Jaga Latar Belakang Job Berlari
Kami telah melihat dalam contoh sebelumnya bagaimana kami dapat menggunakan menyangkal
perintah untuk memastikan bahwa perintah terus berjalan setelah kita menutup terminal kita. Pilihan lain adalah Nohup
memerintah.
Nohup memberitahu suatu proses untuk mengabaikannya Sighup
(hangup) memberi sinyal yang diterimanya. Sinyal Sighup dikirim ke pekerjaan latar belakang setiap kali terminal saat ini ditutup. Dengan demikian, kita dapat memiliki pekerjaan di latar belakang, menutup terminal, dan masih melihatnya berjalan di latar belakang. Inilah contohnya.
$ NOHUP TEED 10000 & [1] 1908 NOHUP: Mengabaikan input dan menambahkan output ke 'NOHUP.keluar'
Kami telah menutup terminal dan membukanya kembali, lalu menjalankan perintah berikut, yang menunjukkan perintah masih berjalan.
$ ps aux | grep sleep linuxco+ 1908 0.0 0.0 8084 524 ? S 13:05 0:00 Tidur 10000
Menggunakan perintah layar
Sampai sekarang, kami telah membahas metode Linux default untuk menjalankan perintah di latar belakang. Namun, ada juga paket perangkat lunak tambahan yang dapat digunakan. Mungkin yang paling populer adalah perintah layar.
Anda dapat melihat tautan yang disebutkan di atas untuk instruksi pemasangan dan penggunaan terperinci, tetapi inti dari itu seperti ini:
- Jalankan
layar
Perintah untuk memulai "layar" baru. Secara opsional, sertakan-S
opsi untuk memberinya nama.$ layar -MyCommand
- Di sesi layar baru, jalankan perintah atau skrip yang ingin Anda masukkan ke latar belakang.
$/path/to/myscript.SH
- Tekan
Ctrl + a
di keyboard Anda, laluD
. Ini akan melepaskan layar, maka Anda dapat menutup terminal, logout sesi SSH Anda, dll, dan layar akan bertahan. Untuk melihat daftar layar, gunakan perintah ini.$ screen -ls ada layar di: 2741.MyCommand (04/08/2021 01:13:24 PM) (Terpisah) 1 Socket In/Run/Screen/S-LinuxConfig.
- Untuk memasang kembali ke layar, gunakan perintah berikut, ganti nomor di bawah ini dengan ID proses Anda sendiri.
$ layar -r 2741
Menutup pikiran
Dalam panduan ini, kami melihat beberapa metode berbeda untuk menjalankan perintah di latar belakang di Linux. Ini termasuk utilitas linux default dan perintah layar. Kami juga melihat bagaimana mengelola proses latar belakang dengan memindahkan pekerjaan ke latar depan, menyalakan kembali layar, dan membunuh proses latar belakang.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
- Cara menangani acara ACPI di Linux
- Perintah Linux Dasar
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Instal Arch Linux di VMware Workstation
- Unduh Linux
- Hal -hal yang harus diinstal pada Ubuntu 22.04
- « Simpan kata sandi Anda di baris perintah dengan gopass (dengan plugin browser!)
- Cara mengatur server ftp/sftp dan klien di almalinux »