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.

Quy trình là gì

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 một tiến trình tiền cảnh

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 –

Chạy một tiến trình nền

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ụ

  1. Khởi chạy trình phát nhạc 'banshee'
  2. Dừng nó bằng lệnh 'ctrl +z'
  3. Tiếp tục với tiện ích 'fg'.

Lệnh 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.

Chỉ huy hàng đầu

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

Lệnh PS

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 

Lệnh PS

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ụ.

Lệnh giết

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

Lệnh tốt đẹp

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ụ.

Lệnh tốt đẹp

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.

Lệnh DF

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' 

Lệnh DF

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.

Lệnh miễn phí

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