Bài học theo mô-đun (1/2)
Quản lý tiến trình (ps và kill)
Trong Linux, mọi chương trình đang chạy đều được gọi là process. Mỗi quy trình được gán một mã định danh số duy nhất được gọi là PID (ID quy trình). Hiểu cách giám sát và quản lý các quy trình này là điều cần thiết để giữ cho hệ thống ổn định và hoạt động.
Quy trình giám sát: ps
Lệnh ps (trạng thái quy trình) hiển thị ảnh chụp nhanh các quy trình hiện tại. Theo mặc định, nó chỉ liệt kê các tiến trình được liên kết với người dùng hiện tại và cửa sổ terminal hiện tại.
Để có cái nhìn đầy đủ về tất cả các tiến trình đang chạy trên hệ thống, tổ hợp tùy chọn BSD aux thường được sử dụng:
a: Hiển thị quy trình cho tất cả người dùng.u: Hiển thị chủ sở hữu tiến trình và mức sử dụng tài nguyên CPU/Bộ nhớ.x: Liệt kê các quy trình không được liên kết với bất kỳ thiết bị đầu cuối nào (như các dịch vụ nền).
ps auxĐầu ra của ps aux là một bảng có cấu trúc hiển thị các cột quan trọng như USER, PID, %CPU, %MEM và COMMAND (lệnh bắt đầu quá trình).
Quá trình chấm dứt: kill và killall
Nếu một quá trình ngừng phản hồi hoặc tiêu tốn quá nhiều tài nguyên, chúng ta có thể chấm dứt nó bằng cách gửi tín hiệu.
Lệnh kill
Lệnh kill gửi tín hiệu đến một quy trình được chỉ định bởi PID của nó:
kill 2048 # Sends the SIGTERM (15) signal, requesting a clean shutdown
kill -9 2048 # Sends the SIGKILL (9) signal, forcing immediate termination[!CẢNH BÁO] Chỉ sử dụng
kill -9như là phương sách cuối cùng vì nó không cho phép chương trình lưu dữ liệu hoặc đóng các tệp đang mở một cách sạch sẽ.
Lệnh killall
Nếu bạn không biết PID hoặc muốn chấm dứt tất cả các quy trình của chương trình theo tên, bạn có thể sử dụng killall:
killall python # Terminates all processes named 'python'Hãy tự mình thử
Bài tập 1: Liệt kê tất cả các tiến trình
Hiển thị danh sách đầy đủ tất cả các tiến trình đang chạy trên hệ thống bằng các tùy chọn 'aux'.
Hiển thị gợi ý
Sử dụng lệnh 'ps', sau đó là tùy chọn 'aux'.
Giải pháp khả dụng sau 3 lần thử
Bài tập 2: Chấm dứt một tiến trình bằng PID
Chấm dứt quá trình python với PID 2048 bằng lệnh 'kill'.
Hiển thị gợi ý
Sử dụng 'kill' theo sau là PID của quy trình (2048).
Giải pháp khả dụng sau 3 lần thử
Bài tập 3: Chấm dứt tất cả các tiến trình theo tên
Chấm dứt tất cả các tiến trình đang chạy được liên kết với chương trình 'python' bằng lệnh 'killall'.
Hiển thị gợi ý
Sử dụng 'killall' theo sau là tên chương trình, trong trường hợp này là 'python'.
Giải pháp khả dụng sau 3 lần thử