1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Linux và phần mềm mã nguồn mở: Chương 5 - TS. Hà Quốc Trung

16 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Chương 5 - Quản lý tiến trình. Nội dung trình bày trong chương này gồm có: Các kiểu tiến trình, trạng thái của tiến trình, các kiểu thực thi,... Mời các bạn cùng tham khảo để nắm kiến thức cần thiết. Mời các bạn cùng tham khảo.

Quản lý tiến trình TS Hà Quốc Trung Giới thiệu   Một tiến trình = thực thi chương trình Mỗi tiến trình tương ứng với tập thông tin sau:         Một định danh (pid) Một tiến trình cha (ppid) Người sở hữu (uid) nhóm (gid) Một đầu vào chuẩn (stdin), đầu chuẩn (stdout), kênh báo lỗi chuẩn (stderr) Thời gian sử dụng CPU (CPU time) mức độ ưu tiên Thư mục hoạt động tiến trình Bảng tham chiếu đến file tiến trình sử dụng Các tiến trình xếp để chia sẻ thời gian sử dụng CPU Các kiểu tiến trình (1)  Các tiến trình hệ thống  Thường thuộc quyền root  Khơng có giao diện tương tác  Thường chạy dạng tiến trình ngầm (daemon)  Đảm nhiệm nhiệm vụ chung, phục vụ người sử dụng  Ví dụ:    lpsched: Quản lý dịch vụ in ấn cron: tự động thực lệnh/chương trình vào thời gian xác định trước inetd: quản lý dịch vụ mạng Các kiểu tiến trình (2)  Các tiến trình người sử dụng  Thực   nhiệm vụ người dùng cụ thể Thực dạng shell tương ứng với đăng nhập Thực dạng lệnh thông qua shell  Thường  Ví     dụ: cp vi man … thực hiện, quản lý terminal Lệnh ps  Hiển thị tiến trình Theo ngầm định, lệnh ps hiển thị tiến trình thuộc người sử dụng terminal  Sử dụng tùy chọn aux để hiển thị tất tiến trình chạy máy  $ ps PID TTY 2803 pts/1 2965 pts/1 $ ps aux USER PID root ttanh 951 ttanh 953 ttanh 966 TIME CMD 00:00:00 bash 00:00:00 ps %CPU 0.1 %MEM 0.1 0.0 0.0 0.0 0.3 1.9 0.3 VSZ 1104 RSS 460 1728 996 6860 4916 2704 1000 TTY ? STAT START TIME COMMAND S 15:26 0:03 init[3] pts/0 S pts/0 S pts/0 R 16:09 0:00 bash 16:09 0:00 emacs 16:23 0:00 ps aux Trạng thái tiến trình     S: ngủ R: chạy T: dừng Z:không xác định Lệnh kill  Gửi tín hiệu đến tiến trình (định danh tiến trình xác định dạng tham số lệnh)  Theo ngầm định, tín hiệu gửi tín hiệu 15 (SIGTERM – kết thúc tiến trình)  Tùy chọn -9: gửi tín hiệu (SIGKILL – hủy tiến trình)  Tùy chọn –l: liệt kê tất tín hiệu sử dụng   Lệnh killall: dùng để kết thúc tất tiến trình câu lệnh thơng qua việc truyền tên câu lệnh dạng tham số Quyền hủy tiến trình thuộc người sở hữu tiến trình Độ ưu tiên tiến trình   Tất tiến trình có độ ưu tiên ban đầu ngầm định Mức độ ưu tiên tiến trình dao động khoảng từ -19 đến +19   Lệnh nice cho phép thay đổi độ ưu tiên tiến trình bắt đầu thực lệnh tương ứng với tiến trình   Chỉ người sử dụng có quyền root giảm giá trị biểu diễn độ ưu tiên tiến trình Một người sử dụng thơng thường làm giảm độ ưu tiên tiến trình thơng qua việc tăng giá trị biểu diễn độ ưu tiên $ nice [-n Value] [Command [Arguments ]] Lệnh renice cho phép thay đổi độ ưu tiên tiến trình sau chạy Lệnh top  Hiển thị cập nhật thơng tin sau tiến trình chạy:  Phần trăm sử dụng CPU  Phần trăm sử dụng nhớ  $ top [–d]  Tùy chọn –d cho phép xác định thời gian định kỳ cập nhật thơng tin (tính theo giây)  Lệnh top cho phép người sử dụng tương tác quản lý tiến trình (thay đổi độ ưu tiên, gửi tín hiệu, …) Các kiểu thực thi  Thực thi nhiều lệnh độc lập  Sử dụng ký tự ; để thực thi nhiều lệnh liên tiếp, lệnh hoạt động độc lập với  $cp public/* perso; rm -r public  Thực thi nhiều lệnh phụ thuộc  Sử dụng ký hiệu && để thực thi nhiều lệnh liên tiếp, lệnh phụ thuộc nhau, lệnh sau thực lệnh trước không gặp lỗi  $cp public/* perso && rm -r public Chạy chế độ (foreground chạy chế độ ngầm (background) (1)  Quá trình chạy chế độ tiến hành theo bước sau:  Thực q trình « fork », nhân tiến trình cha (trong trường hợp thực thi lệnh, tiến trình shell)  Thực q trình « wait », đưa tiến trình cha vào trạng thái ngủ (sleep)  Thực q trình « exec », thực thi tiến trình  Sau tiến trình thực thi xong, tín hiệu « đánh thức » gửi đến tiến trình cha  Do trình chạy => trình thực tiến trình con, người sử dụng khơng thể tương tác với tiến trình cha Chạy chế độ (foreground chạy chế độ ngầm (background) (2)    Quá trình chạy chế độ ngầm cho phép thực thi tiến trình cha tiến trình cách độc lập Ví dụ: $ emacs& Sau thực lệnh trên, emacs chạy chế độ ngầm, người sử dụng tiếp tục sử dụng console để thực thi lệnh khác Quản lý tác vụ    Một tác vụ = việc thực câu lệnh Một tác vụ liên quan đến nhóm tiến trình (một tiến trình cha tập tiến trình nó) Khơng thể có nhiều tác vụ chạy chế độ (foreground) Có thể có nhiều tác vụ chạy chế độ ngầm (background) $ command $ command & kill Kết thúc fg Foreground Background fg bg stop Stop Ctrl-Z Ctrl-C Kết thúc Ví dụ $ emacs & [1] 756 $ stop 756 # or $ stop %1 $ bg 756 # or $ bg %1 $ kill 756 # or $ kill %1 Chuyển hướng kênh chuẩn  Mỗi tiến trình sở hữu:     Một đầu vào chuẩn (ngầm định bàn phím) Một đầu chuẩn (ngầm định terminal) Một kênh báo lỗi chuẩn (ngầm định terminal) Chuyển hướng đầu vào chuẩn (, >>) $ ls > /dev/lp $ ls >> test.txt  Chuyển hướng kênh báo lỗi $ rm prog.c 2> /dev/null $ gcc prog.c 2>> erreur.txt Cơ chế đường ống   Cơ chế đường ống hai tiến trình cho phép định hướng lại đầu tiến trình thứ trở thành đầu vào tiến trình thứ hai Cơ chế đường ống thiết lập cách sử dụng ký tự: | $  cmd1 | cmd2 Ví dụ  $ls –l | more #affiche page par page  $ls –l | tee log.txt #duplique la sortie ... Ctrl-Z Ctrl-C Kết thúc Ví dụ $ emacs & [1] 756 $ stop 756 # or $ stop %1 $ bg 756 # or $ bg %1 $ kill 756 # or $ kill %1 Chuyển hướng kênh chuẩn  Mỗi tiến trình sở hữu:     Một đầu vào chuẩn... nice [-n Value] [Command [Arguments ]] Lệnh renice cho phép thay đổi độ ưu tiên tiến trình sau chạy Lệnh top  Hiển thị cập nhật thông tin sau tiến trình chạy:  Phần trăm sử dụng CPU  Phần. .. chọn aux để hiển thị tất tiến trình chạy máy  $ ps PID TTY 2803 pts/1 29 65 pts/1 $ ps aux USER PID root ttanh 951 ttanh 953 ttanh 966 TIME CMD 00:00:00 bash 00:00:00 ps %CPU 0.1 %MEM 0.1 0.0

Ngày đăng: 11/05/2021, 04:39

Xem thêm:

TỪ KHÓA LIÊN QUAN