Bài thực hành số 4
QUẢN LÝ TIẾN TRÌNH
TÍN HIỆU VÀ ĐỒNG BỘ
1 Nội dung thực hành
③ Tiến trình và cách thức thực hiện tiến trình
③ Quản lý các tiến trình
③ Quản lý các tín hiệu
2 Quản lý tiến trình
2.1 Mục đích của Shell
Shell là chương trình thông dịch lệnh.
▼
▼
▼
▼
Shell có thể đọc và thực hiện 1 tập tin gồm danh sách các lệnh cần thực hiện. Tập tin ở dạng này được gọi là shell_script hoặc procedure. Shell_script được thực hiện nhờ shell, và chính shell sẽ phát sinh và quản lý tất cả các tiến trình cần thiết để thực hiện công việc được mô tả trong shell_script.
2.2 Tạo tiến trình
Tiến trình được hiểu là việc thực hiện 1 công việc hay 1 chương trình trong 1 môi trường cụ thể trong hệ thống. Ta có thể phân biệt 2 loại tiến trình: - Tiến trình hệ thống: là tiến trình không gắn với bất kỳ 1 terminal nào, nó được tạo
ra vào thời điểm khởi động hệ thống hoặc vào các thời điểm cố định do người quản trị hệ thống đặt.
- Tiến trình do người sử dụng tạo ra
Các tiến trình được tổ chức theo dạng cây: Tiến trình cha ⮴ tiến trình con Đối với người sử dụng, tiến trình cha là shell được tạo tại thời điểm bắt đầu phiên làm việc.
Cách thực hiện 1 shell_script như sau:
$chmod +x proc
$proc
hoặc: $sh proc
2.3 Liệt kê các tiến trình
Lệnh ps cho phép liệt kê danh sách các tiến trình đang diễn ra:
$ps
PID TTY TIME CMD
3884 pts/1 00:00:00 bash
3955 pts/2 00:00:00 more
3956 pts/5 00:00:05 sqlplus
Với :
PID số của tiến trình (process identity)
TTY terminal điều khiển tiến trình
TIME thời gian tích lũy thực hiện tiến trình (cumulative time) COMMAND tên lệnh sinh ra tiến trình
Tiến trình số 1 là tiến trình init, trong đó có chức năng giám sát các terminal, là tiến trình cha của tất cả các tiến trình shell khi login.
Ths. Phan Thượng Cang - Ths. Bùi Quốc Thái Trang 37
Tài Liệu Thực Hành Hệ Điều Hành – Bộ môn HTMT&TT
Các tùy chọn cho lệnh ps:
o a : hiển thị tất cả các tiến trình của người dùng (all users)
o u : hiển thị các tiến trình cùng với tên người dùng và thời gian bắt đầu o x : hiển thị các tiến trình mà không gắn kết với một terminal
Trong đó:
UID số uid của người chủ tiến trình
PID số của tiến trình (process identity)
PPID số của tiến trình cha (parent process identity)
C chỉ số sử dụng bộ xử lý (processor utilization for scheduling) STIME thời điểm bắt đầu tiến trình
TTY terminal điều khiển tiến trình
TIME thời gian tích lũy thực hiện tiến trình (cumulative time) COMMAND tên lệnh sinh ra tiến trình