Quản lý tiến trình trong linux

     
Mở đầu

Nhìn bình thường một hệ thống Linux sẽ khá là định hình khi được vận hành. Tuy nhiên không đề xuất lúc như thế nào nó cũng vận động một giải pháp suôn sẻ, cơ mà ta luôn luôn có cách để các chương trình hoạt động theo một cách cực tốt có thể. Cũng giống như Windows xuất xắc OSX, một hệ thống Linux cũng bao hàm các công tác con, cách xử trí một các bước duy tốt nhất và hầu như được cai quản bởi nhân hệ điều hành là Linux (với WindowsWindowsNTOSX vậy nên Darwin).

Bạn đang xem: Quản lý tiến trình trong linux

Tiến trình là gì

Hệ thống sẽ không thực sự làm chủ toàn bộ các chương trình, mà lại chỉ quản lý khi nó được thực thi. Một lịch trình để hoàn toàn có thể thực thi được trên bất cứ một hệ quản lý nào thì nó đều bắt buộc ở dạng mã máy, mỗi lịch trình chưa rất nhiều các đoạn mã trang bị (hay mã chỉ dẫn) hỗ trợ cho máy tính rất có thể biết được lịch trình sẽ làm gì. Những đoạn mã này sẽ được nạp vào bộ lưu trữ khi thực thi, được cấp phát vùng hoạt động, thời hạn thực thi .... Và khi điều đó xảy ra, thay bởi vì gọi là chương trình, ta tất cả một thuật ngữ khác là tiến trình. Và đúng chuẩn thì các tiến trình này là hầu hết thứ được thống trị bởi một hệ thống/hệ quản lý Linux (hoặc Windows xuất xắc OSX)

Những các bước đang hoạt động

Khi một khối hệ thống đã vận hành, có không ít chương trình đã và đang hoạt động cùng nhau, cùng kết hợp để khiến cho hệ thống có thể giúp người tiêu dùng xử lý các công việc. Các phiên bản phân phối Linux cũng tương tự các hệ điều hành tiến bộ ngày nay, hoạt động theo chế độ đa nhiệm, có nghĩa là trong cùng một thời điểm tất cả thể có khá nhiều chương trình cùng (có vẻ) triển khai tại một thời điểm. Vớ nhiên thực tiễn điều này không khi nào xảy ra, những chương trình đang được phân loại thời gian vận động và hệ quản lý điều phối chuyển động tốt tới cả ta không nhận thấy được những chương trình thực tế đang chạy tuần tự nhưng mà nghĩ rằng nó đang làm việc song song.

Ngoài sự nhiều nhiệm, Linux còn hỗ trợ cơ chế đa tín đồ dùng, tức là tại một thời điểm, có thể có không ít chương trình được vận động với người tiêu dùng là những người khác nhau. Hệ điều hành quản lý tất cả các tiến trình này và vẫn đảm bảo trải nghiệm là đồng đông đảo giữa những người dùng cũng tương tự giữa các chương trình. Một chương trình nhất là top có thể giúp ta biết được khối hệ thống hiện tại có các chương trình nào đang hoạt động.

*

Lệnh top đến ta biết khá nhiều thông tin của các tiến trình

Dòng thứ nhất cho biết thời gian uptime (từ thời gian khởi động) cũng như số người tiêu dùng thực tế đang hoạt động.Dòng thiết bị hai là những thống kê về số lượng tiến trình, bao hàm tổng số quá trình (total), số đang vận động (running), số vẫn ngủ/chờ (sleeping), số đang dừng (stopped) cùng số tất yêu dừng hẳn (zombie).Dòng sản phẩm 3-5 lần lượt cho thấy thêm thông tin về CPU, RAM và bộ lưu trữ SwapCác dòng còn lại liệt kê cụ thể về các tiến trình như định danh (PID), người dùng thực thi (USER), độ ưu tiên (PR), cái lệnh triển khai (COMMAND) .....

Một lệnh không giống là ps cũng giúp ta liệt kê được cụ thể của tiến trình tuy vậy có một vài ba điểm không giống với top

Chỉ hiện thị từ cái thứ 6 của lệnh top.Nếu top hiển thị một giải pháp realtime các tiến trình thì ps chỉ hiện nay thị thông tin tại thời điểm khởi chạy lệnh.top và ps đều có thể dùng kết phù hợp với piping tuy vậy như vậy thì tính realtime của đứng top sẽ không có ý nghĩa.Kết thúc một quá trình đang hoạt động

Một ngày như thế nào đó, hệ thống đang quản lý bình thường, nhiều người đang làm những các bước thường ngày vẫn làm. Mặc dù nhiên, mẫu trình duyệt ai đang dùng tự nhiên và thoải mái bị treo (not responding), các bạn thử tắt nó nhưng không có gì nuốm đổi. Và lúc này để xử trí cái trình duyệt giận dữ đó bạn cũng có thể sử dụng những công cụ loại lệnh, bao gồm ps với kill.Lệnh kill được dùng để kết thúc một tiến trình dựa trên định danh của các bước PID, với để hiểu rằng PID của các bước cần buộc kết thúc, ta rất có thể dùng ps kết hợp với redirection bằng grep.Ta sử dụng lệnh sau: ps aux | grep "opera" (VD cùng với trình chuyên chú Opera bị treo)

*

Trình để mắt Opera chạy rất nhiều tiến trình, vậy ta demo tắt chúng đi, sử dụng lệnh kill -9 PID, nghỉ ngơi trên hình ta đang thử tắt quy trình có PID = 8768, do vậy command giờ đang là: kill -9 8768. Thật hay diệu, trình coi sóc Opera đã có đóng lại.

Xem thêm: Sửa Thông Tin Thẻ Này Hoặc Thử Một Thẻ Khác, Điều Khoản Dịch Vụ Của Google Pay/Google Payments

*

Khi sử dụng lệnh kill cùng với một quá trình con thì chỉ tiến trình đó được tắt tuy thế nếu áp dụng kill cùng với tiến trình thân phụ thì cục bộ con của nó cũng được tắt theo. Nguyên nhân là vì quá trình con muốn hoạt động được thì phải có 1 tiến trình khác yêu mong hệ điều hành tạo nên nó. Một quá trình không thể tự nhiên sinh ra nếu không tồn tại một yêu mong khởi tạo tiến trình được thỏa mãn nhu cầu bởi hệ điều hành.

Trong ngôi trường hợp lúc không thể làm việc bằng con chuột hoặc khối hệ thống không được cho phép mở một terminal thì ta hoàn toàn có thể sử dụng tổng hợp phím Ctrl+Alt+F cùng với Console là một trong những trong các gía trị tự 1-12. Khi ấn tổng hợp phím này, một đồ họa dòng lệnh sẽ được kích hoạt (gọi là tty). Ta hoàn toàn có thể sử dụng đồ họa dòng lệnh này để kill những tiến trình bị treo. Đặc biệt sau thời điểm kill được các tiến trình đó, ta hoàn toàn có thể dùng tổng hợp phím Ctrl+Alt+F7 để quay về giao diện thứ họa. Nếu phương pháp này không tác dụng (nguyên do bởi vì CPU với RAM hầu như quá tải) thì ta phải khởi cồn lại hệ thống.

Nhiệm vụ trước nền cùng sau nền

Thông thường các các bước thực tế bắt buộc làm với một hệ thống Linux sẽ không còn cần quan lại tấm lắm đến các nhiệm vụ trước nền (foregorund) với sau nền (background). Tuy nhiên có một vài trường hợp quan trọng đặc biệt cần áp dụng đến nhân tài này:

Một lịch trình cần mất nhiều thời gian nhằm sử dụng, nhưng các bạn lại hy vọng ngay mau lẹ được chạy một lịch trình khác.Bạn đang hoạt động một công tác nhưng lại mong muốn tạm dừng nó lại để chạy một lịch trình khác rồi quay trở về với dòng ban đầu.Khi các bạn xử lý một tệp tin có dung tích lớn hoặc biên dịch chương trình, bạn không muốn phải ban đầu quá trình lại từ đầu sau khi kết thúc nó.

Một số lệnh có lợi để giúp chúng ta xử lý các trường phù hợp này là:

jobs: liệt kê danh sách những nhiệm vụ sẽ chạy&: với việc thực hiện từ khóa này khi ngừng câu lệnh, một chương trình bao gồm thể bắt đầu trong background thay vị foreground như mặc định.fg : dùng để lấy một lịch trình background đổi mới chương trình foreground.Ctrl+z: ngược lại với fg, gửi một công tác foreground biến đổi chương trình background.

Chi máu về các lệnh bên trên (^Z tương đương với Ctrl+z):

*

Lời kết

Trên đó là những ra mắt và những lệnh cơ bạn dạng để làm chủ các quy trình trong khối hệ thống Linux. Bạn có thể áp dụng để cai quản các tiến trình đang làm việc trong hệ thống hiệu quả hơn (đặc biệt cần thiết với phần nhiều ai thường xuyên xuyên làm việc với cửa sổ dòng lệnh). Cảm ơn mọi người đã đọc bài bác viết.


Chuyên mục: Domain Hosting