Nội dung bài viết
Chương trình đa nhiệm trong linux
Cũng như các hệ điều hành như Window hay MacOS, Linux cũng có thể chạy đa nhiệm nhiều chương trình cùng một lúc để hệ thống hoạt động hiệu quả. Mỗi chương trình được xác định trên hệ thống bằng ID (Identification), mỗi ID là duy nhất và một chương trình khi hết phiên hoạt động thì một chương trình khác có thể sử dụng ID đó
Cùng với số ID, mỗi chương trình còn được liên kết với tài khoản sử dụng trong hệ thống như đã nói trong bài (Tìm hiểu về Quản trị user, quản trị group trong Linux)
Hiển thị hệ thống đa nhiệm trong linux
Có 2 lệnh cơ bản để hiện thị đa nhiệm trong hệ thống Linux, mỗi lệnh sẽ có đặc điểm riêng.
ps
: là một lệnh phổ biến liệt kê các quy trình hiện đang chạy trên hệ thống của bạn tại thời điểm bạn ghi lệnh
câu lệnh: $ps u
top
: là lệnh liệt kê chương trình theo trạng thái, mức độ ưu tiên và là chương trình chạy theo thời gian thực (giống với Task manager của Window).
câu lệnh $top
Lệnh xử lý đa nhiệm trong linux
Nếu bạn là người sử dụng nhiều các bản phân phối của unix/linux thì không thể không biết cách sử dụng các câu lệnh, ví dụ khi làm việc với bản phân phối linux sever, sẽ không có GUI để bạn có thể thao tác chuột quản lý đa nhiệm. Việc sử dụng thành thạo câu lệnh là rất cần thiết với người quản trị sever
Làm việc đa nhiệm trước nền (foregorund) và sau nền (background) trong Linux
Mặc dùng các chương trình trong Linux thường được tự khởi chạy và người dùng không cần quan tâm đến việc quản lý chúng. Nhưng trong một số trường hợp, bạn là người quản lí hệ thống và muốn quản lý chương trình nào chạy trước, chương trình nào chạy sau. Tạm dừng một chương trình xử lý file hoặc soạn thảo mà không muốn làm lại từ đầu. Cho nên cần nắm được cách hoạt động trước và sau nền của ứng dụng là cần thiết
Để hiện thị các lệnh đang chạy trong nền hãy nhập lệnh $jobs
Nếu muốn chương trình chạy tước nền thay vì sau nền, hãy thêm dấu (&) cuối mỗi câu
fg [jobs-number]
: đưa một chương trình sau nền (background) về lại trước nền (foregorund)
Nhấn tổ hợp Ctrl+Z để đưa chương trình foregorund về background.
Lệnh dừng chương trình kill
và kill all
Lệnh này cho phép người dùng tạm dừng một hay nhiều chương trình đang chạy. Ngoài ra, nó còn có thể tạm dừng hoặc tiếp tục để cấu hình lại các file hệ thống khác.
Trong linux, có rất nhiều tùy chọn để dừng chương trình. Các tùy chọn sẽ có một lệnh khác nhau, bảng dưới đây giải thích rõ một số câu lệnh hay được sử dụng
Cấu trúc câu lệnh: kill [options] (type file)
Loại lệnh | Kí hiệu | Giải thích |
Sighup | 1 | Ngắt kết nối khi phát hiện thấy lỗi treo thiết bị điều khiển. |
Sigint | 2 | Ngắt kết nối từ bàn phím |
Sigquit | 3 | Dừng kết nối tới bàn phím |
Sigabrt | 6 | Hủy bỏ lệnh |
Sigkill | 9 | Dừng kết nối (Kill) |
Sigterm | 15 | Kết thúc kết nối terminal |
Sigcont | 18,19,25 | Tiếp tục chương trình nếu trước đó đã bị dừng |
Sigstop | 17,19,23 | Dừng chương trình |
Sự khác nhau giữa lệnh kill
và kill all
– Sử dụng lệnh kill khi bạn biết PID của chương trình đó. Như trong phần đầu đã giơi thiệu, khi bạn sử dụng lệnh ps hoặc top. Một bảng các chương trình sẽ hiện ra kèm theo PID của chúng, nếu bạn muốn dừng bất kì chương trình nào, hãy nhớ câu lệnh kill và PID. Các options đã được nêu trên bảng sẽ giúp bạn xử lý chương trình tốt hơn
– Đối với lệnh killall, bạn sẽ tìm tên của chương trình muốn xử lý. Ưu điểm của lệnh này là sẽ không bắt bạn tìm kiếm ID của chúng với dãy số khó nhớ.