1/38 Information technology faculty of Saigon University NGUYỄN THÀNH SƠN Chương 5 TIẾN TRÌNH 2 tiết 2/38 Information technology faculty of Saigon University NGUYỄN THÀNH SƠN Nội dung II
Trang 11/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
Chương 5
TIẾN TRÌNH
(2 tiết)
2/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
Nội dung
II Phân loại
III Các khái niệm cơ bản
IV Lập lịch
V Dịch vụ in ấn trong Linux
I Định nghĩa
Định nghĩa
• Một tiến trình nhiều tiến trình
• Tiến trình cha tiến trình con
• Dừng tiến trình cha?
Tiến trình ≠ Chương trình
Tiến trình ≠ Lệnh
II Phân loại
Tiến trình tương tác (Interactive process)
• Tiến trình tiền cảnh (foreground)
• Tiến trình hậu cảnh (background)
Tiến trình bó (Batch process)
Trang 25/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
III Các khái niệm cơ bản
Số PID:
• Khái niệm: định danh
• Số để phân biệt tiến trình
• Giá trị
• Quản lý các tiến trình
• Tiến trình khởi đầu
6/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
III Các khái niệm cơ bản (tt1)
Tiến trình tiền cảnh (foreground)
• Khái niệm: đối thoại
• Khi thực hiện lệnh: không xuất hiện dấu nhắc
hoàn tất chương trình.
• Không có chương trình hay lệnh nào khác được thực hiện
• Ví dụ: #ls –R /
III Các khái niệm cơ bản (tt2)
• Không tương tác trực tiếp
• Chiếm nhiều thời gian
• Shell trả ngay dấu nhắc
• Dịch vụ chạy trong chế độ hậu cảnh
• Mặc định, tiến tiến trình triệu gọi từ người dùng ->
tiền cảnh.
• Chuyển sang hậu cảnh: dấu “&”
• Ví dụ:
#ls -R / > thumuc &
• Thông báo hoàn tất:
[1] Done ls -R / > thumuc
IV Quản lý tiến trình
Xem thông tin tiến trình
Tạm dừng tiến trình
Đánh thức tiến trình
Chuyển tiến trình hậu cảnh tiền cảnh
Hủy tiến trình
Trang 39/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
1 Xem thông tin tiến trình
Xem thông tin tiến trình tiền cảnh
• Cú pháp: ps [tùy_chọn]
• Các tùy chọn thường dùng:
+ -a: tất cả
+ -f: đầy đủ
Ví dụ: #ps –af
root 1234 1232 May 19 tty1 S 00:00:01 ps – af
+ -ax: tất cả, kể cả tiến trình không được gọi từ tty
+ -axl: tất cả tiến trình và lệnh khởi chạy
10/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
1 Xem thông tin tiến trình
Xem cây tiến trình: #pstree -np
Xem thông tin các tiến trình hậu cảnh
• Cú pháp: #jobs
• Ví dụ: #jobs
[1] + Running #ls -R / > thumuc
2 Tạm dừng tiến trình
Thực hiện tạm dừng
Hệ thống thông báo dừng tiến trình và chuyển
sang hậu cảnh
Ví dụ:#ls -R /
^Z [1] + Stopped ls -R /
#ps –af
root 1228 1224 May 19 tty1 00:00:00 ls –R /
root 1234 1232 May 19 tty1 00:00:00 ps - af
#jobs
[1] + Stopped ls -R /
3 Đánh thức tiến trình
Tiến trình tạm dừng hậu cảnh.
Đánh thức: chạy tiếp tục
Cú pháp: #bg [số_thứ_tự]
ls -R / >thumuc
#jobs
[1] + Running ls -R / > thumuc
Lưu ý: Xác định số_thứ_tự
+ Xác định nhờ jobs + Xác định nhờ tên
Trang 413/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
4 Chuyển tiến trình từ hậu cảnh
sang tiền cảnh
Ví dụ: #fg 1
ls -R / >thumuc
Dấu nhắc của Shell?
14/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
5 Hủy tiến trình
Lý do hủy?
Cú pháp: #kill [tùy_chọn] [PID]
PID của tiến trình
Lưu ý:
• Tiến trình cha bị hủy, tiến trình con?
• Ai được hủy tiến trình?
• Hủy tiến trình có độ ưu tiên cao?
Ví dụ: #kill -9 12345
V Lập lịch
1 Lệnh at
2 Lệnh batch
3 Tiện ích cron
4 Tiện ích crontab
1 Lệnh at
Công dụng
Cú pháp: #at [thời_gian] <Enter>
• [lệnh1]
• [lệnh2]
• …
• <Ctrl + D>
Định dạng thời_gian:
• HH:MM [AM/PM]
• MMDDYY hoặc MM/DD/YY hoặc MM.DD.YY
• now + số [mins/days/hours/weeks]
Ví dụ: #at 00:30 <Enter>
/etc/init.d/openmail restart
<Ctrl+D>
job 190575 at Mon May 19 00:30:00
Trang 517/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
1 Lệnh at (tt)
Lưu ý:
• Chuyển hướng: Ví dụ: #at 23:45 < côngviệc
• Kiểm tra: #at –l hay #atq
• Tập tin /etc/at.allow và /etc/at.deny
• Nếu tập tin at.allow tồn tại?
• Nếu at.allow không tồn tại?
Xóa lịch
• Cú pháp: #atrm [định_danh_công_việc]
• Ví dụ: # atrm 190575
18/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
2 Lệnh batch
Đặc điểm của batch: liên quan mức tải của
hệ thống
Cú pháp: #batch [thời_gian] <Enter>
Ví dụ: #batch <Enter>
echo “In báo cáo”
cat /usr/comm/report > báocáo | lp
<Enter>
Ctrl+D
Tập tin /etc/at.allow và /etc/at.deny
3 Tiện ích cron
Khác nhau giữa at, batch và cron, crontab
Tiện ích cron (crond) được kích hoạt ngay khi hệ thống
khởi động
Hoạt động:
• cron xem có các tiến trình trong hàng đợi nhập vào bởi lệnh at
• Xem xét các tập tin crontabs: có các tiến trình cần phải thực hiện
hay không rồi “đi ngủ”.
• Mỗi phút “thức dậy” mỗi phút
Định dạng record:
Mọi người dùng
4 Tiện ích crontab
Dành cho root
Cú pháp: $crontab –U [user] {-e | -l | -r}
Các tùy chọn:
-e: chỉnh sửa crontab của người dùng -l: liệt kê crontab của người dùng -r: xóa crontab của người dùng
/etc/cron.deny
Trang 621/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
VI Dịch vụ in ấn
1 Tiến trình và công cụ in ấn
2 Máy in cục bộ
3 Máy in mạng
4 Chia sẻ máy in
22/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
1 Tiến trình và công cụ in ấn
Sự hỗ trợ máy in: hầu hết các loại máy in Khi
cài đặt máy in cần quan tâm:
• Nhà cung cấp máy
• Cổng kết nối
• Tiến trình kiểm soát thư mục spool để gửi sang máy in
• Tiến trình lpd nhận ra các máy in cài đặt vào hệ thống thông qua việc đọc tập tin /etc/printcab.
• lpd sử hai tiến trình listen và accept để quản lý những yêu cầu in gửi đến và sao chép chúng đến spooling
1 Tiến trình và công cụ in ấn(tt1)
Công cụ in ấn
• Lệnh lpr
+ Dùng để in một tài liệu với máy in được chỉ định
+ Cú pháp: #lpr tên_tập_tin
+ Khi dùng lệnh lpr để in một yêu cầu, lệnh lpr sẽ tập hợp dữ
liệu và sao chép chúng đến hàng đợi spooling
+ Khi đó lệnh lpr sẽ tạo ra 2 tập tin.
• Tập tin thứ nhất có tên cf (tập tin điều khiển)
• Tập tin thứ hai có tên df (tập tin dữ lịêu)
+ lpd nhận tín hiệu từ lpr và kiểm tra tập tin /etc/printcab để
kiểm tra máy in cục bộ hay trên mạng
1 Tiến trình và công cụ in ấn(tt2)
Công cụ in ấn
+ In một tập tin với máy in định trước
+ Cú pháp: # lpd –P tên_máy_in tên_tập_tin
+ Tên máy in được xác định trong /var/spool/lpd/tên_máy_in; hoặc trong /etc/printcap
+ Để sử dụng máy in mặc định (set as default), đặt biến môi trường:
# export PRINTER=tên_máy_in
• Lệnh lpq: xem danh sách những tài liệu trong hàng đợi
• Lệnh lprm [số]: hủy tập tin đang ở hàng đợi in, [số] được liệt
kê bằng lệnh lpq
• Lệnh lpc status: sử dụng bởi người dùng root kiểm soát hàng
đợi máy in.
Trang 725/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
1 Tiến trình và công cụ in ấn(tt3)
Các tập tin, thư mục liên quan:
Tập tin máy in: /var/spool/lpd/tên_máy_in
Tập tin /etc/printcab: Định nghĩa các script
cho tiến trình lpd sử dụng trong việc định dạng
máy in Đồng thời, nó cũng chứa các thông tin
về máy in.
Tập tin /etc/lptest
• Chứa các ký tự ASCII phục vụ in thử.
• Cú pháp: # lptest số_cột số_dòng
• Ví dụ: # lptest > /dev/lp0 <=>
# cat tập_tin> /dev/lp0
26/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
2 Máy in cục bộ
System/ Administration/ Printing
Trang 829/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
2 Máy in cục bộ (tt3)
30/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
2 Máy in cục bộ (tt4)
Trang 933/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
3 Máy in mạng
Bước 1: Chuẩn bị: tên máy in hoặc địa chỉ
IP của máy ở xa
máy in cục bộ, trừ bước chọn kiểu kết nối
máy in
34/38
Information technology faculty of Saigon University NGUYỄN THÀNH SƠN
3 Máy in mạng (tt)
Ba loại tiến trình
Lập lịch với at và crontab
Trang 10NGUYỄN THÀNH SƠN