/ / Quản lý quy trình Linux: Hướng dẫn cơ bản

Quản lý quy trình Linux: Hướng dẫn cơ bản

Trong các hệ điều hành dựa trên Linux và Unix, một phiên bản lệnh đang chạy được gọi là một tiến trình. Bạn có thể xác định từng quy trình bằng một ID quy trình duy nhất. Linux cung cấp các công cụ dòng lệnh để liệt kê, quản lý và giám sát các quy trình này một cách hiệu quả.

Bạn có thể sử dụng các công cụ này để ưu tiên từng quy trình hoặc đặt chúng ở chế độ nền hoặc nền trước để quản lý tài nguyên hệ thống một cách hiệu quả.

Hướng dẫn quản lý quy trình trong Linux này bao gồm các công cụ như ps, kill, renice và các lệnh khác hỗ trợ quản trị viên hệ thống quản lý và liệt kê các quy trình.

Quy trình lập danh sách với lệnh ps

Tiện ích dòng lệnh lâu đời nhất và được sử dụng phổ biến nhất để liệt kê các quy trình hiện đang chạy trên Linux là ps. Mặc dù lệnh trên cùng là một cách tương tác và hướng màn hình khác để quản lý và liệt kê các quy trình hệ thống, ps cũng hiển thị thông tin bổ sung như tài nguyên mà mỗi quy trình đang sử dụng.

Do môi trường đa người dùng, mỗi quy trình trong Linux được liên kết với một tài khoản nhóm và người dùng riêng biệt. Do đó, thông tin tài khoản với chi tiết quy trình giúp bạn truy cập tài nguyên hệ thống mà quy trình có thể sử dụng.

Ví dụ: các tiến trình chạy với đặc quyền của người dùng cấp trên có thể truy cập nhiều tài nguyên hệ thống hơn người dùng thông thường và đây là nơi ps giúp quản trị viên hệ thống.

Kết quả đầu ra sau đây là một ví dụ về liệt kê các quy trình với tên người dùng, thời gian đã trôi qua và mức tiêu thụ CPU và bộ nhớ liên quan:


Quá trình xử lý lệnh của người dùng ps

Bạn cũng có thể lưu ý cột STAT hiển thị trạng thái của quá trình đang chạy. R đại diện cho quá trình hiện đang chạy và S là một quá trình ngủ với một dấu cộng cho biết các hoạt động tiền cảnh.

Bạn có thể liệt kê tất cả các quy trình của người dùng hiện tại, như sau:

ps ux | less

Để liệt kê các quy trình cho tất cả người dùng:

ps aux | less

Quản lý quy trình với giám sát hệ thống

System Monitor cung cấp một cách đồ họa để hiển thị và quản lý các quy trình. Để khởi chạy System Monitor, hãy truy cập Ứng dụng> Giám sát hệ thống. Chuyển sang Quy trình để xem tất cả các quá trình đang chạy.


Giám sát hệ thống

Theo mặc định, nó hiển thị các quy trình theo thứ tự bảng chữ cái cho người dùng hiện tại. Bạn có thể sắp xếp lại danh sách quy trình bằng cách nhấp vào bất kỳ tiêu đề cột nào. Bên cạnh đó, bạn có thể nhấp vào %CPUKỉ niệm tiêu đề để xem các quy trình tiêu thụ nhiều năng lượng xử lý và bộ nhớ hơn.


Quản lý quy trình giám sát hệ thống

System Monitor cho phép bạn quản lý các quy trình theo nhiều cách khác nhau, có nghĩa là bạn có thể dừng, hủy, tiếp tục, kết thúc và thay đổi mức độ ưu tiên của quy trình bằng cách chỉ cần nhấp chuột phải vào tên quy trình.

Đây là công cụ hỗ trợ tốt nhất cho người dùng Linux mới làm quen, những người không biết cách làm việc với các tiện ích dòng lệnh.

Liên quan: Cách hiển thị kết quả xử lý hàng đầu và sắp xếp theo bộ nhớ

Làm việc với các quy trình hậu cảnh / tiền cảnh

Sẽ có lúc bạn phải truy cập hệ thống Linux qua mạng chỉ bằng một dòng lệnh. Điều này hạn chế việc quản lý hiệu quả nhiều chương trình đang hoạt động. Nhưng một trình bao cho phép bạn quản lý các chương trình bằng cách chuyển chúng vào nền và nền trước.

Làm thế nào để bắt đầu một quá trình nền

Để bắt đầu một chương trình trong khi bạn tiếp tục làm việc trong shell, hãy chạy lệnh, dừng nó và đặt nó ở chế độ nền bằng cách sử dụng Ctrl + Z. Để chạy một chương trình trực tiếp trong nền, hãy thêm dấu và (&) vào cuối lệnh, như sau:

find /usr > /tmp/allusrfiles &

Ghi lại số công việc và ID quy trình. Hãy nhớ rằng bạn không thể chạy các lệnh yêu cầu đầu vào đầu cuối ở chế độ nền.

Bạn có thể dùng việc làm lệnh để hiển thị tất cả các chương trình / lệnh đang chạy trong nền hoặc những chương trình / lệnh mà bạn đã dừng (sử dụng Ctrl + Z).

jobs

Lệnh công việc

Cách tiếp tục các quá trình tiền cảnh và hậu cảnh

Để tiếp tục công việc bạn đã đặt trong nền, hãy sử dụng fg lệnh, và nó sẽ đưa lệnh lên nền trước.

fg %<job-number>

Tương tự, nếu bạn dừng một lệnh chạy trong nền, bạn có thể khởi động lại lệnh trong nền bằng lệnh bg, như sau:

bg %<job_number>

Quy trình giết người trên Linux

Cũng giống như một công cụ đồ họa như System Monitor cho phép bạn giết, dừng và tiếp tục một quá trình, bạn cũng có thể sử dụng các công cụ dòng lệnh như giếtkillall để gửi tín hiệu cho một quá trình đang chạy.

Ngoài việc giết một quy trình, lệnh kill còn giúp gửi các tín hiệu khác nhau để quản lý các hành vi của quy trình.

Bạn có thể sử dụng tên hoặc số để sử dụng tín hiệu.

kill -signalnumber <process-id>
kill -signalname <process-id>

Ví dụ: các lệnh sau gửi tín hiệu SIGKILL đến một quá trình với PID 1987:

kill -9 1987
kill -SIGKILL 1987

Các tín hiệu quy trình được sử dụng phổ biến nhất là:

Lựa chọn Sự miêu tả
SIGKILL (9) Kết thúc quá trình ngay lập tức
SIGTERM (15) Chấm dứt quá trình
SIGSTOP (19/28/25) Dừng quá trình
SIGCONT (19/28/25) Tiếp tục quá trình sau khi nó dừng lại
SIGUP (1) Cho biết quá trình đọc tệp cấu hình của nó

Lưu ý rằng các quy trình khác nhau phản ứng khác nhau với các tín hiệu này nhưng chúng không thể dừng các tín hiệu SIGSTOP và SIGKILL. Nhập lệnh sau để đọc thêm về các tín hiệu này:

man 7 signal

Tìm hiểu thêm: Cách chấm dứt các quá trình không phản hồi trong Linux với kill và pkill

Renicing Processes trên Linux

Nhân Linux ưu tiên các tiến trình đang chạy và chỉ định tài nguyên hệ thống bằng cách xem xét các đặc quyền của tài khoản người dùng. Kernel cũng xem xét một yếu tố khác, đó là giá trị “tốt đẹp” của mọi tiến trình đang chạy.

Giá trị đẹp mặc định của một quy trình là 0 nhưng bạn có thể đặt phạm vi từ -20 đến 19. Một số thông tin về cách đặt mức độ ưu tiên của quy trình với các giá trị đẹp và tốt là:

  • Quá trình có giá trị tốt thấp có nhiều quyền truy cập hơn vào tài nguyên CPU

  • Một người dùng thông thường chỉ có thể ưu tiên lại các quy trình của họ

  • Người dùng thông thường chỉ có thể đặt giá trị từ -20 đến 19 và chỉ có thể đặt giá trị cao hơn

  • Siêu người dùng có thể đặt quy trình của bất kỳ ai thành bất kỳ giá trị nào, cao hay thấp

Quản lý quy trình trên Linux Made Easy

Môi trường đa người dùng có một số quy trình yêu cầu đủ kiến ​​thức về quản lý tài nguyên hệ thống để ngăn chặn tắc nghẽn và hạn chế hệ thống. Một phần của nhiệm vụ bao gồm quản lý các quy trình bằng cách chạy chúng ở chế độ nền / nền trước, giết hoặc làm mới chúng.

Bạn cũng có thể tìm hiểu về tiện ích lệnh hàng đầu để hiển thị và sắp xếp các quy trình cũng như tìm hiểu cách chấm dứt các quy trình không tương ứng trên Linux.


7 cách để loại bỏ các chương trình không phản hồi trong Linux

Khi một ứng dụng Linux không phản hồi và gặp sự cố, làm cách nào bạn có thể giết nó? Hãy thử một trong các thủ thuật sau để buộc thoát khỏi một chương trình trong Linux.

Đọc tiếp


Giới thiệu về tác giả

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *