Quản lý quy trình Linux/Unix: ps, kill, top, df, free, nice Lệnh
Một quy trình là gì?
Một phiên bản của chương trình được gọi là Quy trình. Nói một cách đơn giản, bất kỳ lệnh nào bạn đưa ra cho máy Linux của mình đều bắt đầu một quy trình mới.
Có thể có nhiều quy trình cho cùng một chương trình.
Các loại quy trình:
- Quy trình tiền cảnh: Chúng chạy trên màn hình và cần thông tin đầu vào từ người dùng. Ví dụ: Chương trình Office
- Quá trình nền: Chúng chạy ở chế độ nền và thường không cần người dùng nhập vào. Ví dụ như Chống virus.
Nhấp chuột vào đây nếu video không thể truy cập được
Chạy một tiến trình tiền cảnh
Để bắt đầu quá trình tiền cảnh, bạn có thể chạy nó từ bảng điều khiển hoặc bạn có thể chạy nó từ thiết bị đầu cuối.
Khi sử dụng Terminal, bạn sẽ phải đợi cho đến khi tiến trình foreground chạy.
Chạy quy trình nền
Nếu bạn khởi động một chương trình/quy trình tiền cảnh từ thiết bị đầu cuối thì bạn không thể làm việc trên thiết bị đầu cuối cho đến khi chương trình được thiết lập và chạy.
Đặc biệt, các tác vụ sử dụng nhiều dữ liệu cần nhiều sức mạnh xử lý và thậm chí có thể mất hàng giờ để hoàn thành. Bạn không muốn thiết bị đầu cuối của mình bị trì hoãn trong một thời gian dài như vậy.
Để tránh tình huống như vậy, bạn có thể chạy chương trình và gửi nó xuống nền để thiết bị đầu cuối vẫn có sẵn cho bạn. Hãy học cách thực hiện điều này –
Fg
Bạn có thể sử dụng lệnh “fg” để tiếp tục một chương trình đã bị dừng và đưa nó lên nền trước.
Cú pháp đơn giản cho tiện ích này là:
fg jobname
Ví dụ
- Khởi chạy trình phát nhạc 'banshee'
- Dừng nó bằng lệnh 'ctrl +z'
- Tiếp tục với tiện ích 'fg'.
Hãy xem xét các lệnh quan trọng khác để quản lý các quy trình –
Áo sơ mi
Tiện ích này cho người dùng biết về tất cả các tiến trình đang chạy trên máy Linux.
Nhấn 'q' trên bàn phím để thoát khỏi màn hình quy trình.
Thuật ngữ như sau:
Phần | Mô tả | Ví dụ 1 | Ví dụ 2 |
---|---|---|---|
PID | ID tiến trình của từng tác vụ | 1525 | 961 |
người sử dang | Tên người dùng của chủ sở hữu nhiệm vụ | Trang Chủ | Chân răng |
PR |
Ưu tiên
Có thể là 20 (cao nhất) hoặc -20 (thấp nhất) |
20 | 20 |
NI | Giá trị tốt đẹp của một nhiệm vụ | 0 | 0 |
VIỆC | Bộ nhớ ảo đã sử dụng (kb) | 1775 | 75972 |
RES | Bộ nhớ vật lý đã sử dụng (kb) | 100 | 51 |
Shr | Bộ nhớ dùng chung đã sử dụng (kb) | 28 | 7952 |
S |
Trạng thái Có năm loại: 'D' = giấc ngủ không bị gián đoạn 'R' = đang chạy 'S' = ngủ 'T' = truy tìm hoặc dừng lại 'Z' = xác sống |
S | R |
% CPU | % thời gian của CPU | 1.7 | 1.0 |
% MEM | Bộ nhớ vật lý được sử dụng | 10 | 5.1 |
TIME + | Tổng thời gian CPU | 5:05.34 | 2:23.42 |
Lệnh | Tên lệnh | Photoshop.exe | Xorg |
PS
Lệnh này là viết tắt của 'Trạng thái quy trình'. Nó tương tự như “Trình quản lý tác vụ” bật lên trong một Windows Máy khi chúng ta sử dụng Cntrl+Alt+Del. Lệnh này tương tự như lệnh “top” nhưng thông tin hiển thị thì khác.
Để kiểm tra tất cả các tiến trình đang chạy dưới quyền người dùng, hãy sử dụng lệnh –
ps ux
Bạn cũng có thể kiểm tra trạng thái quy trình của một quy trình, sử dụng cú pháp –
ps PID
Giết chết
Lệnh này chấm dứt các tiến trình đang chạy trên máy Linux.
Để sử dụng các tiện ích này, bạn cần biết PID (id tiến trình) của tiến trình bạn muốn hủy
Cú pháp -
kill PID
Để tìm PID của một tiến trình, chỉ cần gõ
pidof Process name
Chúng ta hãy thử nó với một ví dụ.
Tốt đẹp
Linux có thể chạy nhiều tiến trình cùng một lúc, điều này có thể làm chậm tốc độ của một số tiến trình có mức độ ưu tiên cao và dẫn đến hiệu suất kém.
Để tránh điều này, bạn có thể yêu cầu máy của mình ưu tiên các quy trình theo yêu cầu của bạn.
Mức độ ưu tiên này được gọi là Niceness trong Linux và nó có giá trị từ -20 đến 19. Chỉ số Niceness càng thấp thì mức độ ưu tiên dành cho nhiệm vụ đó càng cao.
Giá trị mặc định của tất cả các tiến trình là 0.
Để bắt đầu một quy trình với giá trị niceness khác với giá trị mặc định, hãy sử dụng cú pháp sau
nice -n 'Nice value' process name
Nếu có một số tiến trình đang chạy trên hệ thống thì bạn có thể 'Renice' giá trị của nó bằng cú pháp.
renice 'nice value' -p 'PID'
Để thay đổi Niceness, bạn có thể sử dụng lệnh 'top' để xác định PID (id tiến trình) và giá trị Nice của nó. Later sử dụng lệnh renice để thay đổi giá trị.
Hãy để chúng tôi hiểu điều này bằng một ví dụ.
DF
Tiện ích này báo cáo dung lượng đĩa trống (Đĩa cứng) trên tất cả các hệ thống tệp.
Nếu bạn muốn thông tin trên ở định dạng có thể đọc được thì hãy sử dụng lệnh
'df -h'
Miễn phí
Lệnh này hiển thị bộ nhớ (RAM) còn trống và đã sử dụng trên hệ thống Linux.
Bạn có thể sử dụng các đối số
free -m để hiển thị đầu ra tính bằng MB
free -g để hiển thị đầu ra tính bằng GB
Tóm tắt:
- Bất kỳ chương trình hoặc lệnh đang chạy nào được cung cấp cho hệ thống Linux đều được gọi là một tiến trình
- Một tiến trình có thể chạy ở nền trước hoặc nền sau
- Chỉ số ưu tiên của một tiến trình được gọi là Nice trong Linux. Giá trị mặc định của nó là 0 và có thể thay đổi trong khoảng từ 20 đến -19
- Chỉ số Niceness càng thấp thì nhiệm vụ đó càng được ưu tiên cao hơn
Lệnh | Mô tả |
---|---|
bg | Để gửi một tiến trình xuống nền |
fg | Để chạy một tiến trình đã dừng ở nền trước |
hàng đầu | Chi tiết về tất cả các quy trình đang hoạt động |
ps | Cung cấp trạng thái các tiến trình đang chạy cho người dùng |
ps PID | Cung cấp trạng thái của một quy trình cụ thể |
pidof |
Cung cấp ID tiến trình (PID) của một quy trình |
giết PID | Giết một quá trình |
tốt đẹp | Bắt đầu một quy trình với một mức độ ưu tiên nhất định |
Lại đẹp | Thay đổi mức độ ưu tiên của một quy trình đã chạy |
df | Cung cấp dung lượng đĩa cứng trống trên hệ thống của bạn |
tự do | Cung cấp RAM miễn phí trên hệ thống của bạn |