Flannagan

New Member

Download miễn phí Quản lý tiến trình trong Linux





Hệ thống /proc
Thư mục /proc là một thư mục rất quan trọng và đóng vai trò sống còn đối với hệ thống Linux. Thư mục này là một thư mục ảo. Nói cách khác là thông tin chứa trong thư mục này được tạo ra một cách động dựa trên các quá trình startup và shutdown của hệ thống. Hơn thế nữa, filesystem còn thay đổi theo thời gian thực. Thông tin của hệ thống, các tiến trình , các tham số của hệ thống đều thể hiện trong thư mục này.
Ta hãy làm một thử nghiệm sau:
Gọi vi chạy lên sau đó bấm Ctrl-Z để cho vi thành background job.
 



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

Quản trị hệ thống
Quản lý tiến trình trong Linux
Giới thiệu
Linux là một HDH đa người sử dụng, đa tiến trình. Linux thực hiện tất cả các công việc của người sử dụng cũng như của hệ thống bằng các tiến trình (process). Do đó, hiểu được cách điều khiển các tiến trình đang hoạt động trên HDH Linux rất quan trọng cho công việc quản trị hệ thống.
Định nghĩa : Tiến trình (process) là một chương trình đơn chạy trên không gian địa chỉ ảo của nó . Cần phân biệt tiến trình với lệnh vì một dòng lệnh trên shell có thể sinh ra nhiều tiến trình. Dòng lệnh sau
nroff -man ps.1 | grep kill | more
sẽ sinh ra 3 tiến trình khác nhau.
Có 3 loại tiến trình chính trên Linux :
· Tiến trình với đối thoại (Interactive processes) : là tiến trình khởi động và quản lý bởi shell, kể cả tiến trình forthground hay background.
· Tiến trình batch (Batch processes) : Tiến trình không gắn liền đến bàn điều khiển (terminal) và được nằm trong hàng đợi để lần lượt thực hiện.
· Tiến trình ẩn trên bộ nhớ (Daemon processes) : Là các tiến trình chạy dưới nền (background). Các tiến trình này thường được khởi động từ đầu. Đa số các chương trình server cho các dịch vụ chạy theo cách này. Đây là các chương trình sau khi được gọi lên bộ nhớ, đợi thụ động các yêu cầu chương trình khách (client) để trả lời sau các cổng xác định (cổng là khái niệm gắn liền với giao thức TCP/IP BSD socket). Hầu hết các dịch vụ trên Internet như mail, Web, Domain Name Service … chạy theo nguyên tắc này. Các chương trình được gọi là các chương trình daemon và tên của nó thường kết thúc bằng ký tự "d" như named, inetd … Ký tự "d" cuối được phát âm rời ra như "đê " trong tiếng việt. Ví dụ named được phát âm là "nêm đê".
Cách đơn giản nhất để kiểm tra hệ thống tiến trình đang chạy là sử dụng lệnh ps (process status). Lệnh ps có nhiều tùy chọn (option) và phụ thuộc một cách mặc định vào người login vào hệ thống. Ví dụ :
$ ps
PID TTY STAT TIME COMMAND
41 v01 S 0:00 -bash
134 v01 R 0:00 ps
cho phép hiển thị các tiến trình liên quan tới một người sử dụng hệ thống.
Cột đầu tiên là PID (Process IDentification). Mỗi tiến trình của Linux đều mang một số ID và các thao tác liên quan đến tiến trình đều thông qua số PID này. Gạch nối – trước bash để thông báo đó là shell khởi động khi người sử dụng login.
Để hiển thị tất cả các process, ta có thể sử dụng lệnh ps –a. Một người sử dụng hệ thống bình thường có thể thấy tất cả các tiến trình, nhưng chỉ có thể điều khiển dược các tiến trình của mình tạo ra. Chỉ có superuser mới có quyền điều khiển tất cả các tiến trình của hệ thống Linux và của người khác. Lệnh ps –ax cho phép hiển thị tất cả các tiến trình, ngay cả những tiến trình không gắn liền đến có bàn điều khiển (tty). Chúng ta có thể coi các tiến trình đang chạy cùng với dòng lệnh đầy đủ để khởi động tiến trình này bằng ps –axl. Lệnh man ps cho phép coi các tham số tự chọn khác của lệnh ps .
Dừng một tiến trình
Lệnh kill : Trong nhiều trường hợp, một tiến trình có thể bị treo, một bàn phím điều khiển không trả lời các lệnh từ bàn phím, một chương trình server cần nhận cấu hình mới, card mạng cần thay đổi địa chỉ IP …, khi đó chúng ta phải dừng (kill) tiến trình đang có vấn đề . Linux có lệnh kill để thực hiện các công tác này. Trước tiên bạn cần biết PID của tiến trình cần dừng thông qua lệnh ps. Xin nhắc lại chỉ có super-user mới có quyền dừng tất cả các tiến trình, còn người sử dụng chỉ được dừng các tiến trình của mình. Sau đó, ta sử dụng lệnh
kill -9 PID_của_ tiến_trình
Tham số –9 là gửi tín hiệu dừng không điều kiện chương trình. Chú ý nếu bạn logged vào hệ thống như root, nhập số PID chính xác nếu không bạn có thể dừng một tiến trình khác. Không nên dừng các tiến trình mà mình không biết vì có thể làm treo máy hay dịch vụ.
Một tiến trình có thể sinh ra các tiến trình con trong quá trình hoạt động của mình. Nếu bạn dừng tiến trình cha, các tiến trình con cũng sẽ dừng theo, nhưng không tức thì . Vì vậy phải đợi một khoảng thời gian và sau đó kiểm tra lại xem tất cả các tiến trình con có dừng đúng hay không. Trong một số hãn hữu các trường hợp, tiến trình có lỗi nặng không dừng được, phương pháp cuối cùng là khởi động lại máy.
Lệnh at : Linux có các lệnh cho phép thực hiện các tiến trình ở thời điểm mong muốn thông qua lệnh at. Thời điểm thực hiện công việc được nhập vào như tham số của lệnh at.
$ at 1:23
lp /usr/sales/reports/*
Dấu ^D có nghĩa là cần giữ phím , sau đó nhấn phím D và bỏ cả 2 phím cùng một lúc.
Sau khi bạn kết thúc lệnh at, dòng thông báo giống như sau sẽ hiện ra màn hình
job 756001.a at Sat Dec 21 01:23:00 2000
Số 756001.a cho phép tham chiếu tới công tác (job) đó, để dùng nếu bạn muốn xóa job đó bởi lệnh
at –r job_number
Lệnh này có thể khác với các phiên bản khác nhau. Ví dụ đối với RedHat 6.2 lệnh xóa một job là atrm job_number . Trong mọi trường hợp coi manpage để biết các lệnh và tham số cụ thể.
Bạn có thể dùng quy tắc chuyển hướng (redirect) để lập lịch trình cho nhiều lệnh cùng một lúc
at 10:59 < tập_lệnh
trong đó, tập_lệnh là một tập tin dạng text có các lệnh. Để kiểm tra các tiến trình mà bạn đã nhập vào, dùng lệnh at –l
Lệnh batch. Khác với lệnh at là tiến trình được thực hiện vào các thời điểm do người sử dụng chọn, lệnh batch để cho hệ thống tự quyết định khi nào tiến trình được thực hiện dựa trên mức độ tải của hệ thống. Thường là các tiến trình batch được thi hành khi máy bận dưới 20%. Các tiến trình in ấn, cập nhật dữ liệu lớn … rất thích hợp với kiểu lệnh này. Cú pháp của batch như sau :
$ batch
lp /usr/sales/reports/*
Crond
Các lệnh at và batch cho phép lập kế hoạch thực hiện tiến trình một lần. Linux còn cho phép lập kế hoạch có tính chất chu kỳ thông qua lệnh cron (viết tắt của chronograph) và các tập tin crontabs. Chương trình daemon cron (crond) được kích hoạt ngay từ đầu với khởi động của hệ thống. Khi khởi động, cron xem có các tiến trình trong hàng đợi nhập vào bởi lệnh at, sau đó xem xét các các tập tin crontabs xem có tiến trình cần thực hiện hay không rồi "đi ngủ ":) . Cron sẽ "thức dậy" mỗi phút để kiểm tra xem có phải thực hiện tiến trình nào không. Super-user và user đều có thể đặt hàng các tiến trình sẽ được cho phép thực hiện bởi cron. Để làm điều này, bạn cần tạo một tập tin text theo cú pháp của cron như sau.
Phút giờ ngày_của_tháng tháng_của_năm ngày_của_tuần
lệnh
0 8 * * 1 /u/sartin/bin/status_report
cho phép /u/sartin/bin/status_report được thực hiện vào 8giờ 00 phút các thứ hai.
Mỗi hàng chứa thời gian và lệnh. Lệnh sẽ được cron thực hiện tại thời điểm ghi ở trước trên cùng dòng đó. Năm cột đầu liên quan tới thời gian có thể thay thế bằng dấu sao "*" với ý nghĩa là "với mọi". Các giá trị có thể cho các trường là :
minute (0-59)
hour (0-23)
day of month (1-31)
month of year (1-12)
day of week (0-6, 0 is Sunday)
Command (rest of line)
Sau đó dùng lệnh crontab để cài đặt tập tin lệnh vào thư mục /usr/spool/cron/crontabs. Mỗi người sử dụng sẽ có một tập tin ...
 
Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
D SKKN Tiếp tục cải tiến chương trình Quản lý tiền lương Luận văn Sư phạm 1
K Giải pháp về quản lý tài chính công trong tiến trình đổi mới và thực hiện cải cách nền hành chính quốc gia Luận văn Kinh tế 1
Y Duy trì và cải tiến hệ thống quản lý chất lượng theo tiêu chuẩn ISO- 9002 tại Công ty da giày Hà Nội Luận văn Kinh tế 0
L Một số giải pháp nhằm hoàn thiện hệ thống quản lý chất lượng và tiến tới áp dụng TQM tại công ty cổ Khoa học Tự nhiên 2
A Duy trì và cải tiến hệ thống quản lý chất lượng theo tiêu chuẩn ISO - 9002 ở Công ty da giày Hà Nội Luận văn Kinh tế 1
C Nâng cao hiệu quả công tác quản lý chất lượng sản phẩm tại Công ty Cao su Sao Vàng trong tiến trình Luận văn Kinh tế 0
M Chuyển giao công nghệ cải tiến quy trình quản lý vận hành sản xuất hình ảnh nội dung của Công ty Vin Khoa học kỹ thuật 0
D Hệ thống quản lý tiến trình nghiệp vụ và ứng dụng cho bài toán quản lý văn bản đi đến trong nội bộ c Công nghệ thông tin 1
T Mô hình hóa tiến trình nghiệp vụ cho hệ thống quản lý sinh viên Công nghệ thông tin 0
T Biện pháp cải tiến quản lý hoạt động nghiên cứu khoa học của giảng viên trường Đại học Công đoàn Luận văn Sư phạm 2

Các chủ đề có liên quan khác

Top