Bài giảng cung cấp cho người học các kiến thức: Quản lý tiến trình. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. | Chương 6 Quản lý tiến trình Nguyễn Nam Trung E-mail : Chương 6 - Quản lý tiến trình Nội dung chi tiết Liệt kê các tiến trình. Tạm ngừng và kích hoạt một tiến trình. Ngừng tiến trình. Theo dõi hệ thống. 04/2009 Khoa CNTT - CĐCNTT Tiến trình là gì ? Tiến trình là một chương trình đơn đang chạy trong bộ nhớ. Có nhiều tiến trình chạy đồng thời ở một thời điểm. Mỗi tiến trình được gán một chỉ số PID duy nhất. Hệ thống dựa vào các PID này để quản lý tiến trình. Tiến trình cũng có quyền sở hữu và truy cập như với tập tin. 04/2009 Khoa CNTT - CĐCNTT Phân loại tiến trình Tiến trình tương tác (Interactive Processes) : là tiến trình được khởi động và quản lý bởi shell. Tiến trình thực hiện theo lô (Batch Processes) : là tiến trình không gắn liền với terminal và được nằm trong hàng đợi để chờ thực hiện. Tiến trình ẩn trên bộ nhớ (Daemon Processes) : là các tiến trình chạy ẩn bên dưới hệ thống (background). 04/2009 Khoa CNTT - CĐCNTT Liệt kê các tiến trình - ps Cú pháp : ps [options] Một số tùy chọn : a Tất cả proc trên cùng một terminal x Các proc không gắn với tty điều khiển u User-format l Long-format w Wide output 04/2009 Khoa CNTT - CĐCNTT Liệt kê các tiến trình – ps (tt) $ ps PID TTY TIME CMD 728 pts/3 00:00:00 bash 1010 pts/3 00:00:00 ps $ ps -auw USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 728 3528 1604 pts/3 S 21:08 0:00 /bin/bash root 1161 3548 860 pts/3 R 22:29 0:00 ps auw Trạng thái : R Đang thi hành S Đang bị đóng Z Ngừng thi hành W Không đủ bộ nhớ cho tiến trình thi hành 04/2009 Khoa CNTT - CĐCNTT Thông tin sử dụng tài nguyên - top Cú pháp : top [options] Một số tùy chọn : -d delay Khoảng thời gian trễ giữa hai lần cập nhật. -p [pid] Chỉ theo dõi tiến trình có mã là pid. -c Hiển thị đầy đủ dòng lệnh. Một số phím lệnh trong sử dụng trong top : q Thoát khỏi lệnh top. Spacebar Cập nhật thông tin tiến trình ngay lập tức. K Ngừng một tiến trình. 04/2009 Khoa CNTT - CĐCNTT Ngừng tiến trình - kill Cú pháp : kill [-s signal] pid kill -l [signal] signal mặc định là SIGTERM Một số signal $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 04/2009 Khoa CNTT - CĐCNTT Ngừng theo tên - killall Cú pháp : killall [-s signal] name Ví dụ : # killal -HUP syslogd # killall -9 man 04/2009 Khoa CNTT - CĐCNTT Điều khiển tác vụ Một tác vụ (job) là một tiến trình đang thực thi Lệnh điều khiển tác vụ ^C thoát ngang ^Z tạm ngừng jobs liệt kê các tác vụ đang thực thi fg tiếp tục tác vụ ở foreground bg,& tiếp tục tác vụ ở background 04/2009 Khoa CNTT - CĐCNTT Thi hành lệnh ở background Để tiến trình chạy ở chế độ background, 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 –print > & Để kiểm tra, ta có thể dùng lệnh : ps –aux | grep find Hoặc jobs để xem các tiến trình đang có ở background 04/2009 Khoa CNTT - CĐCNTT Theo dõi hệ thống w xem các user còn đang login đang làm gì. free hiển thị thông tin bộ nhớ sử dụng/còn trống. uptime thời gian sống của hệ thống. pstree hiển thị cây tiến trình. pgrep, pkill tìm hoặc gửi signal đến tiến trình dựa theo tên và các thuộc tính khác. nice, renice, snice thay đổi mức độ ưu tiên của tiến trình. 04/2009 Khoa CNTT - CĐCNTT FAQ 04/2009 Khoa CNTT - CĐCNTT