Quản lý tiến trình

Chia sẻ: Trần Mạnh Linh Linh | Ngày: | Loại File: PPT | Số trang:16

0
83
lượt xem
14
download

Quản lý tiến trình

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo về công nghệ tông tin

Chủ đề:
Lưu

Nội dung Text: Quản lý tiến trình

  1. Quản lý tiến trình Hồ Viết Quang Thạch
  2. Định nghĩa  Tiến trình là một chương trình đơn chạy trên không gian đĩa ảo của nó.  Tiến trình sử dụng tài nguyên của hệ thống đang chạy.  Một chương trình hay một lệnh có thể phát sinh nhiều tiến trình khác nhau Ví dụ: dòng lệnh sau: # rpm –qa | grep –i samba | more Câu lệnh trên sinh ra 3 tiến trình khác nhau.
  3. Định nghĩa (tt)  Có 3 loại tiến trình trên Linux: – Tiến trình tương tác (Interactive Processes): là tiến trình khởi động và quản lý bởi shell, kể cả tiến trình forceground và background. – Tiến trình thực hiện theo lô (Batch Processes): là 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à tiến trình chạy ẩn bên dưới hệ thống (background)
  4. Định nghĩa (tt)  Một tiến trình khi thực hiện, nếu sinh ra nhiều tiến trình con được gọi là tiến trình cha (Parent Process). Khi tiến trình cha dừng thì tất cả những tiến trình con của nó cũng bị dừng theo.  Mỗi tiến trình mang một định danh gọi là Process ID (PID). PID là một con số lớn hơn 0 và là duy nhất. Hệ thống sẽ dựa vào các PID này để quản lý các tiến trình.
  5. Định nghĩa (tt)  Khi khởi động, Linux sẽ thực hiện một tiến trình sẵn có trong hệ thống mang tên Init (Vì là tiến trình đầu tiên nên PID = 1). Sau đó tiến trình này mới sinh ra các tiến trình khác.  Để xem tiến trình trong hệ thống: # pstree -n -p -n: sắp xếp tăng dần theo PID -p: Hiển thị PID.
  6. Xem thông tin tiến trình  Để xem thông tin tiến trình, sử dụng lệnh ps.  Để hiển thị tất cả các tiến trình, ta có thể sử dụng lệnh ps –a.  Bất cứ ai cũng có thể thấy tất cả tiến trình, nhưng chỉ điều khiển được những tiến trình do mình tạo ra.  Hiển thị tất cả thông tin tiến trình, kể cả những tiến trình không gắn kết với thiết bị đầu cuối (tty), ta sử dụng lệnh: ps –ax.  Hiển thị tất cả các tiến trình cùng với dòng lệnh đã khởi tạo nó bằng lệnh: ps –axl.
  7. Tiến trình tiền cảnh (Foreground Process)  Chương trình tiền cảnh là chương trình mà khi được kích hoạt, chương trình sẽ thực hiện, sau khi thực hiện xong mới trả lại dấu nhắc shell cho người sử dụng.  Chúng ta không thể thực hiện công việc khác trong khi chương trình này đang hoạt động.
  8. Tiến trình hậu cảnh (Background Process)  Tiến trình hậu cảnh là tiến trình sinh ra độc lập với tiến trình cha.  Khi chạy một chương trình chiếm thời gian lâu, chúng ta có thể cho phép chúng chạy ngầm định bên dưới và tiếp tục thực hiện các công việc khác.  Để tiến trình chạy dưới chế độ hậu cảnh, chúng ta thêm dấu & vào sau lệnh thực hiện chương trình Ví dụ: $ find / -name pro > results.txt & [1] 2489 $
  9. Tiến trình hậu cảnh (Background Process) (tt)  Chúng ta có thể kiểm tra chương trình này có hoạt động không bằng lệnh: # ps -aux | grep find  Đơn giản hơn, chúng ta dùng lệnh jobs để xem các tiến trình đang có ở hậu cảnh
  10. Tạm dừng và đánh thức tiến trình  Khi một chương trình hoạt động quá lâu, muốn đưa vào trong hậu cảnh, chúng ta sử dụng lệnh Ctrl – Z. Khi nhận được Ctrl – Z, tiến trình sẽ tạm dừng và chuyển vào hậu cảnh, trả lại dấu nhắc lệnh cho người dùng.  Chúng ta có thể xem tiến trình có trong hậu cảnh không bằng lệnh jobs.  Để đưa một tiến trình từ hậu cảnh hoạt động trở lại, ta dùng lệnh bg. Cú pháp: # pg [Số thứ tự của tiến trình ở hậu cảnh]  Để đưa một tiến trình từ hậu cảnh ra tiền cảnh, chúng ta dùng lệnh fg. Cú pháp: # fg [số thứ tự của tiến trình]
  11. Huỷ một tiến trình  Để huỷ một tiến trình, chúng ta dùng lệnh kill. Cú pháp: # kill -9 [PID của tiến trình] -9: Huỷ không điều kiện.
  12. Chương trình lập lịch at  Linux có các lệnh cho phép thực hiện các tiến trình ở thời điểm định trước thông qua lệnh at. Thời điểm thực hiện tiến trình được nhập vào thông qua tham số của lệnh at. Cú pháp: $ at [ ] ... …
  13. Chương trình lập lịch at (tt) Ví dụ: Thực hiện lệnh liệt kê toàn bộ thư mục gốc (/) vào lúc 8:30 sáng ngày 31 tháng 12 năm 2004 $ at 8:30 Sep 31 2004 at> ls –l at> Jobs 5 at 2004-12-05 8:30 $
  14. Chương trình lập lịch batch  Cho phép 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 thường, các tiến trình batch được thi hành khi mức tải của hệ thống dưới 20%. Cú pháp: $ batch … …
  15. Chương trình lập lịch crontab  Các lệnh at và batch cho phép lập lị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.  Để thực hiện, tạo một tập tin văn bản 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.
  16. Chương trình lập lịch crontab (tt)  5 cột đầu là các giá trị thời gian, có thể thay thế bằng dấu (*), có 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 là chủ nhật) – Command  Sau đó dùng lệnh crontab để cài đặt tập tin vào thư mục /usr/spool/cron/crontabs. Cú pháp: $ crontab [ tên_tập_tin_lệnh]

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản