Thứ Tư, 12 tháng 2, 2014
Tiến trình
TIẾN TRÌNH
Nội dung
1. Định nghĩa.
2. Phân loại.
3. Lệnh pstree và ps.
4. Tiến trình tiền cảnh.
5. Tiến trình hậu cảnh.
6. Tạm dừng và đánh thức tiến trình.
7. Lập lịch với lệnh at.
8. Lập lịch với lệnh batch.
9. Lệnh lịch với tiện ích crontab.
1. Định nghĩa.
Tiến trình là một chương trình đơn chạy trên
khơng gian địa chỉ ảo của nó nhằm thực hiện
một cơng việc nào đó.
Một tiến trình khi thực hiện có thể sinh ra
nhiều tiến trình khác Khi tiến trình cha bị
dừng thì các 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à PID.
Process Id là một con số lớn hơn 0 và là duy
nhất. Hệ thống dựa vào các PID này để quản
lý các tiến trình.
2. Phân loại.
Phân biệt giữa tiến trình và chương trình:
+ Chương trình chỉ đơn thuần là một loạt các câu
lệnh và nó phát sinh ra nhiều tiến trình khác nhau.
+ Tiến trình hơn chương trình ở chổ là biết sử dụng
tài nguyên.
Phân loại tiến trình: có 3 loại tiến trình.
+ Tiến trình tương tác (Interactive Processes)
+ Tiến trình thực hiện theo lô (Batch Processes)
+ Tiến trình ẩn trên bộ nhớ (Daemon Processes)
3. Lệnh pstree và ps.
Lệnh pstree dùng để xem thơng tin cây
tiến trình trong hệ thống.
#pstree –np
Lệnh ps dùng để xem thơng tin tiến trình
•
-a : hiển thò tất cả các tiến trình.
•
-ax : hiển thò tất cả các tiến trình kể cả tiến trình không gắn với
thiết bò đầu cuối.
•
-axl : xem tiến trình đang thực hiện cùng với đầy đủ dòng lệnh đã
khởi tạo.
•
-aux : cho biết user tạo ra tiến trình.
Xem những tiến trình đang sử dụng tài
nguyên CPU: #top
4. Tiến trình tiền cảnh.
Tiến trình tiền cảnh (foreground process): khi thực hiện một
chương trình từ dấu nhắc shell ($ hoặc #), chương trình sẽ
thực hiện và không xuất hiện dấu nhắc cho đến khi thực
hiện xong chương trình. Do đó, chúng ta không thể thực
hiện các công việc khác trong khi chương trình này đang
thực hiện.
Ví dụ :
#find / -name li* -print
#find / -name li* -print > timkiem.txt
Khi chương trình chạy bạn phải chờ rất lâu cho đến khi dấu
nhắc xuất hiện trở lại.
5. Tiến trình hậu cảnh.
Tiến trình hậu cảnh (background process): 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ô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 –print > results.txt &
[1] 2489
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.
6. Tạm dừng - đánh thức tiến trình.
Tạm dừng tiến trình đang chạy và đưa vào hậu cảnh bằng
phím Ctrl + Z
Lệnh jobs
$jobs
[1] + Stopped find / -name pro –print > results.txt
Lệnh bg
#bg 1
find / -name pro –print > results.txt
#jobs
[1] + Running find / -name pro –print > results.txt
Lệnh fg dùng để đưa một tiến trình từ hậu cảnh sang tiền
cảnh
#fg [số thứ tự tiến trình]
Để h y 1 tiến trình dùng lệnh kill hoặc ủ
pkill có cú pháp sau:
#kill -9 <PID-của-tiến-trình>
#pkill -9 <tên tiến trình>
-9: là tín hiệu dừng tiến trình không điều
kiện.
6. Tạm dừng và đánh thức (tt).
7. Lập lịch với lệnh at.
Dùng để thực hiện một cơng việc tại một thời
điểm định trước.
Cú pháp:
$at [time] <Enter>
<command>
…
<Ctrl + D>
Ví dụ :
$at 2:00 <Enter>
/etc/init.d/sendmail restart
lp /var/logs/messages
<Ctrl+D>
Muốn xóa một cơng việc đã được lập dùng lệnh
sau: #at –r [job_number]
Bạn có thể dùng quy tắc chuyển hướng (redirect)
để lập trình cho nhiều lệng cùng một lúc
#at TIME <tập_lệnh>
trong đó, tập_lệnh là một tập tin dạng text chứa
các lệnh.
Sau khi lập lòch, nếu muốn hủy bỏ, ta có thể sử
dụng lệnh : #atrm <job_number>
Để kiểm tra các tiến trình mà bạn đã nhập vào,
dùng lệnh : #at –l
7. Lập lịch với lệnh at (tt).
8. Lập lịch với lệnh batch.
Batch cho phép hệ thống dựa vào mức tải
của mình để thực hiện cơng việc. Thơng
thường dưới 20%.
Ví dụ:
$batch <Enter>
lp /usr/sales/reports/* <Enter>
<Ctrl+D>
9. Lập lịch với tiện ích crontab.
Cron cho phép lập lịch có tính chu kỳ. Những cơng việc lập
lịch định nghĩa trong một file. Dùng lệnh sau để tạo tập tin:
#crontab [filename]
Cú pháp của từng cơng việc trong file :
Phút giờ ngày_của_tháng tháng_của_năm ngày_của_tuần lệnh
Cấm khơng cho user thực hiện lệnh crontab: liệt kê danh
sách các user vào trong nội dung tập tin:
/etc/cron.deny
Cho phép user thực hiện lệnh crontab: liệt kê danh sách các
user vào trong nội dung tập tin:
/etc/cron.alow
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét