Đa nhiệm: Quá trình nền và quá trình Foreground

Là một hệ điều hành đa nhiệm, Linux hỗ trợ thực hiện nhiều quy trình - về cơ bản, các chương trình hoặc các lệnh hoặc các tác vụ tương tự - ở chế độ nền trong khi bạn tiếp tục làm việc ở nền trước.

Tiến trình Foreground

Một tiến trình tiền cảnh là bất kỳ lệnh hoặc tác vụ nào bạn chạy trực tiếp và đợi nó hoàn thành. Một số quy trình tiền cảnh hiển thị một số loại giao diện người dùng hỗ trợ tương tác người dùng đang diễn ra, trong khi các quy trình khác thực thi tác vụ và "đóng băng" máy tính trong khi hoàn thành tác vụ đó.

Từ trình bao, một tiến trình nền trước bắt đầu bằng cách gõ lệnh tại dấu nhắc. Ví dụ: để xem danh sách đơn giản của các tệp trong thư mục hoạt động, hãy nhập:

$ ls

Bạn sẽ thấy danh sách các tệp. Trong khi máy tính đang chuẩn bị và in danh sách đó, bạn không thể làm bất cứ điều gì khác từ dấu nhắc lệnh.

Quá trình nền

Không giống như với một tiến trình nền trước, hệ vỏ không phải chờ quá trình nền kết thúc trước khi nó có thể chạy nhiều tiến trình hơn. Trong giới hạn số lượng bộ nhớ có sẵn, bạn có thể nhập nhiều lệnh nền sau cái khác. Để chạy một lệnh như là một tiến trình nền, gõ lệnh và thêm một dấu cách và một dấu và vào cuối lệnh. Ví dụ:

$ command1 &

Khi bạn đưa ra một lệnh với ký hiệu kết thúc, shell sẽ thực thi công việc, nhưng thay vì làm cho bạn đợi lệnh kết thúc, bạn sẽ ngay lập tức được trả về shell và bạn sẽ thấy dấu nhắc trình bao (% cho C Shell và $ đối với Bourne Shell và Korn Shell). Tại thời điểm này, bạn có thể nhập một lệnh khác cho tiến trình nền trước hoặc nền sau. Các công việc nền được chạy ở mức ưu tiên thấp hơn cho các công việc nền trước.

Bạn sẽ thấy một thông báo trên màn hình khi quá trình nền chạy xong.

Chuyển đổi giữa các quá trình

Nếu quá trình tiền cảnh mất quá nhiều thời gian, hãy dừng nó bằng cách nhấn CTRL + Z. Một công việc đã dừng vẫn tồn tại, nhưng việc thực thi của nó bị treo. Để tiếp tục công việc, nhưng ở chế độ nền, hãy nhập bg để gửi công việc đã dừng sang thực thi nền.

Để tiếp tục một quy trình bị treo ở tiền cảnh, hãy nhập fg và quá trình đó sẽ tiếp quản phiên hoạt động.

Để xem danh sách tất cả các quá trình bị treo, sử dụng lệnh jobs , hoặc sử dụng lệnh trên cùng để hiển thị danh sách các tác vụ đòi hỏi nhiều CPU nhất để bạn có thể tạm dừng hoặc dừng chúng để giải phóng tài nguyên hệ thống.

Shell so với GUI

Đa nhiệm hoạt động khác nhau tùy thuộc vào việc bạn đang làm việc từ trình bao hay giao diện người dùng đồ họa . Linux từ trình bao chỉ hỗ trợ một tiến trình nền trước hoạt động cho mỗi thiết bị đầu cuối ảo. Tuy nhiên, từ quan điểm thực tế của người dùng, một môi trường cửa sổ (ví dụ, Linux với một máy tính để bàn, không phải từ một trình bao văn bản) hỗ trợ một số cửa sổ đang hoạt động có hiệu quả như nhiều tiến trình tiền cảnh đồng thời. Trong thực tế, Linux đằng sau hậu trường điều chỉnh mức độ ưu tiên của các quy trình trong GUI để thúc đẩy sự ổn định của hệ thống và hỗ trợ xử lý người dùng cuối.