Kem Intensif DevOps · Pelajaran

Kawalan Kerja (bg, fg, jobs)

Kuasai pengurusan proses latar depan dan latar belakang, termasuk menjeda, menyambung semula serta menyenaraikan kerja dalam sesi shell anda.

Pelajaran 1 daripada 411 langkah

Kawalan Kerja (bg, fg, jobs) ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah Kawalan Kerja?

Selamat datang ke Kawalan Kerja! Ciri berkuasa dalam shell Linux ini membolehkan anda mengurus program yang sedang berjalan tanpa menutup terminal atau membuka terminal baharu.

Anggaplah ia sebagai keupayaan berbilang tugas untuk baris arahan anda. Anda boleh menjeda tugasan, memindahkannya ke latar belakang atau membawanya kembali ke latar depan.

Latar Depan vs. Latar Belakang

Apabila anda menjalankan arahan, arahan itu biasanya berjalan di latar depan. Ini bermakna arahan tersebut mengambil alih terminal anda dan anda tidak boleh menaip arahan baharu sehingga arahan itu selesai.

Walau bagaimanapun, proses latar belakang berjalan secara berasingan. Proses ini membebaskan terminal anda supaya anda boleh terus melakukan perkara lain semasa proses tersebut dijalankan.

Menjeda Proses (Ctrl+Z)

Untuk menjeda proses latar depan yang sedang berjalan, gunakan pintasan papan kekunci Ctrl+Z. Pintasan ini menghantar isyarat SIGTSTP, lalu menggantung proses tersebut.

Proses itu tidak ditamatkan; sebaliknya, proses tersebut menjadi tugas yang 'dihentikan' dan menunggu arahan anda tentang tindakan seterusnya.

Melihat Tugas Anda (jobs)

Selepas anda menjeda proses (atau menghantarnya ke latar belakang), anda boleh melihat senarai semua tugas aktif dalam sesi shell semasa menggunakan arahan jobs.

Setiap tugas mendapat nombor tugas unik (seperti [1], [2] dan sebagainya) serta statusnya (contohnya, Stopped, Running).

sleep 50 &
sleep 60 &
jobs

Membawa ke Latar Depan (fg)

Jika anda mempunyai tugas yang dihentikan atau dihantar ke latar belakang, anda boleh membawanya kembali ke latar depan menggunakan arahan fg, diikuti nombor tugasnya (contohnya, %1).

Ini menjadikan tugas tersebut proses aktif dalam terminal anda semula.

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

Menghantar ke Latar Belakang (bg)

Untuk menyambung semula tugas yang dihentikan dan menghantarnya ke latar belakang, gunakan arahan bg bersama nombor tugasnya.

Proses tersebut akan terus berjalan tanpa menyekat terminal anda, dan gesaan anda akan dipaparkan semula dengan serta-merta.

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

Berjalan di Latar Belakang ( & )

Anda tidak semestinya perlu memulakan proses di latar depan kemudian menjedanya. Anda boleh melancarkan arahan terus ke latar belakang dengan menambahkan ampersan (&) pada penghujung arahan.

Kaedah ini amat sesuai untuk tugas yang berjalan lama dan tidak memerlukan interaksi anda.

echo "Starting long task..." &
sleep 300 &
jobs

Nombor Tugas & PID

Apabila anda menggunakan jobs, anda akan melihat nombor tugas seperti [1], [2]. Nombor ini khusus untuk sesi shell anda.

Setiap proses yang sedang berjalan juga mempunyai ID Proses (PID) unik, iaitu nombor yang digunakan di seluruh sistem. Anda boleh melihat PID dengan jobs -l atau ps.

sleep 100 &
jobs -l

Menghentikan Tugas (kill)

Untuk menamatkan tugas latar belakang atau tugas yang dihentikan, anda boleh menggunakan arahan kill. Anda boleh menentukan nombor tugas (contohnya, kill %1) atau PIDnya (contohnya, kill 12345).

kill menghantar isyarat kepada proses tersebut. Secara lalai, isyarat itu ialah SIGTERM (penamatan secara terkawal). Untuk penamatan secara paksa, gunakan kill -9 %job_number atau kill -9 PID.

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

Kuiz Kawalan Tugas

Anda telah memulakan arahan yang berjalan lama (contohnya, find / -name *.txt), tetapi kini anda memerlukan semula terminal untuk menaip arahan lain. Apakah urutan yang betul untuk menjeda arahan find, menghantarnya ke latar belakang supaya ia terus berjalan, kemudian mengesahkan bahawa ia ialah tugas latar belakang?

Ulang Kaji: Kawalan Tugas

Anda telah menguasai kawalan tugas!

  • Ctrl+Z menjeda proses latar depan.
  • jobs menyenaraikan semua tugas aktif.
  • fg %N membawa tugas N ke latar depan.
  • bg %N menghantar tugas N yang dihentikan ke latar belakang.
  • Menambahkan & menjalankan arahan terus di latar belakang.
  • kill %N atau kill PID menamatkan tugas.

Dengan ini, anda boleh mengurus berbilang tugas dengan cekap dalam satu sesi terminal!

Percuma untuk bermula

Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Kawalan Kerja (bg, fg, jobs)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Kawalan Kerja (bg, fg, jobs)”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kawalan Kerja (bg, fg, jobs)”?

Kuasai pengurusan proses latar depan dan latar belakang, termasuk menjeda, menyambung semula serta menyenaraikan kerja dalam sesi shell anda. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Kawalan Kerja (bg, fg, jobs)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kawalan Kerja (bg, fg, jobs)
  2. Pengembangan Shell dan Globbing
  3. Alias dan Gesaan Tersuai
  4. Fungsi Shell dan Petikan Boleh Guna Semula
← Kembali ke Kem Intensif DevOps