Lệnh bg trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh bg trong Linux để quản lý các tiến trình chạy nền. Lệnh bg được sử dụng để chuyển một job bị tạm dừng (stopped) ra nền, cho phép bạn tiếp tục làm việc ở foreground. Bạn sẽ học cách tạm dừng một tiến trình foreground, chuyển nó ra nền, và liệt kê và quản lý các tiến trình nền. Lab này bao gồm mục đích và cú pháp của lệnh bg, cũng như các ví dụ thực tế về cách sử dụng nó.

Tìm hiểu Mục đích và Cú pháp của Lệnh bg

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh bg trong Linux. Lệnh bg được sử dụng để chuyển một job bị tạm dừng (stopped) ra nền, cho phép bạn tiếp tục làm việc ở foreground.

Để bắt đầu, hãy khởi động một tiến trình ở foreground và sau đó tạm dừng nó bằng cách sử dụng tổ hợp phím Ctrl+Z:

$ sleep 60
^Z
[1]+ Stopped sleep 60

Như bạn có thể thấy, lệnh sleep 60 đã bị tạm dừng và hiện đang ở dưới nền.

Để chuyển tiến trình bị tạm dừng ra nền, hãy sử dụng lệnh bg:

$ bg
[1]+ sleep 60 &

Lệnh bg tiếp tục tiến trình bị tạm dừng và chuyển nó ra nền, cho phép bạn tiếp tục làm việc ở foreground.

Bạn cũng có thể sử dụng lệnh bg với một số job để chuyển một tiến trình bị tạm dừng cụ thể ra nền. Ví dụ, nếu bạn có nhiều tiến trình bị tạm dừng, bạn có thể sử dụng bg 2 để chuyển job thứ hai ra nền.

Ví dụ về đầu ra:

[1]+ sleep 60 &

Cú pháp cho lệnh bg là:

bg [job_id]

Trong đó job_id là số job tùy chọn của tiến trình bị tạm dừng mà bạn muốn chuyển ra nền. Nếu không có số job nào được chỉ định, lệnh bg sẽ chuyển tiến trình bị tạm dừng gần đây nhất ra nền.

Tạm dừng một Tiến trình Foreground và Chuyển nó ra Nền

Trong bước này, bạn sẽ học cách tạm dừng một tiến trình foreground và chuyển nó ra nền bằng lệnh bg.

Trước tiên, hãy bắt đầu một tiến trình chạy dài ở foreground:

$ sleep 120

Trong khi lệnh sleep 120 đang chạy, hãy nhấn Ctrl+Z để tạm dừng tiến trình:

^Z
[1]+  Stopped                 sleep 120

Bây giờ, tiến trình sleep 120 đã bị tạm dừng và ở dưới nền. Để chuyển nó ra nền, hãy sử dụng lệnh bg:

$ bg
[1]+ sleep 120 &

Lệnh bg tiếp tục tiến trình bị tạm dừng và chuyển nó ra nền, cho phép bạn tiếp tục làm việc ở foreground.

Ví dụ về đầu ra:

[1]+ sleep 120 &

Bạn cũng có thể liệt kê các tiến trình nền bằng lệnh jobs:

$ jobs
[1]+ Running sleep 120 &

Điều này cho thấy tiến trình sleep 120 hiện đang chạy ở nền.

Liệt kê và Quản lý các Tiến trình Nền

Trong bước này, bạn sẽ học cách liệt kê và quản lý các tiến trình nền bằng các lệnh jobsfg.

Trước tiên, hãy bắt đầu một vài tiến trình nền:

$ sleep 60 &
[1] 12345
$ sleep 120 &
[2] 12346
$ sleep 180 &
[3] 12347

Để liệt kê các tiến trình nền hiện đang chạy, hãy sử dụng lệnh jobs:

$ jobs
[1] Running sleep 60 &
[2] Running sleep 120 &
[3] Running sleep 180 &

Lệnh jobs hiển thị số job, trạng thái và lệnh của mỗi tiến trình nền.

Bạn cũng có thể nhận thông tin chi tiết hơn về các tiến trình nền bằng lệnh jobs -l:

$ jobs -l
[1] 12345 Running sleep 60 &
[2] 12346 Running sleep 120 &
[3] 12347 Running sleep 180 &

Điều này bao gồm ID tiến trình (PID) của mỗi tiến trình nền.

Để đưa một tiến trình nền lên foreground, hãy sử dụng lệnh fg theo sau là số job:

$ fg 2
sleep 120

Lệnh fg đưa tiến trình nền được chỉ định lên foreground, cho phép bạn tương tác với nó.

Để dừng một tiến trình nền, bạn có thể sử dụng lệnh kill với ID tiến trình (PID) lấy được từ lệnh jobs -l:

$ kill 12346
[2]+ Terminated sleep 120

Điều này sẽ kết thúc tiến trình nền với PID 12346.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cú pháp của lệnh bg trong Linux, được sử dụng để chuyển một job bị tạm dừng (stopped) ra nền, cho phép bạn tiếp tục làm việc ở foreground. Bạn đã thực hành tạm dừng một tiến trình foreground bằng Ctrl+Z và sau đó chuyển nó ra nền bằng lệnh bg. Bạn cũng đã học cách liệt kê và quản lý các tiến trình nền, điều này có thể hữu ích để chạy các tác vụ chạy dài mà không làm gián đoạn phiên terminal của bạn.

400+ câu lệnh phổ biến trong Linux