Cara menjalankan perintah di latar belakang di linux

Cara menjalankan perintah di latar belakang di linux

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
Menempatkan proses ke latar belakang dan memindahkannya ke latar depan Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
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:

  1. Jalankan layar Perintah untuk memulai "layar" baru. Secara opsional, sertakan -S opsi untuk memberinya nama.
    $ layar -MyCommand 
  2. Di sesi layar baru, jalankan perintah atau skrip yang ingin Anda masukkan ke latar belakang.
    $/path/to/myscript.SH 
  3. Tekan Ctrl + a di keyboard Anda, lalu D. 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. 


  4. 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