Unix- Điều khiển quá trình• Bảng các quá trình – Các quá trình đang tồn tại • Trạng thái • Chủ sở hữu • Địa chỉ của vùng sử dụng tương ứng với quá trình, • Các thông tin tương ứng được t
Trang 1QUẢN TRỊ QUÁ TRÌNH
Trang 3Quá trình trong Unix
• PID (Process Index)
– 0: Quá trình khởi động HĐH
• Lời gọi hệ thống folk
Trang 5Unix- Điều khiển quá trình
• Bảng các quá trình
– Các quá trình đang tồn tại
• Trạng thái
• Chủ sở hữu
• Địa chỉ của vùng sử dụng tương ứng với quá trình,
• Các thông tin tương ứng được trình bày trong PCB.
• Vùng sử dụng (U-area)
– Chỉ số thành phần tương ứng với quá trình
– Bộ đếm thời gian
– Các giá trị trả về và mã lỗi (nếu có) với lời gọi hiện tại
– Mô tả về các file đang mở
– Các mức cho phép thực hiện đối với quá trình
• Các bảng định vị địa chỉ bộ nhớ
• Bảng chứa vùng bộ nhớ chung
Trang 6Sơ đồ chuyển trạng thái quá trình
Thực hiện mức nhân (2)
Thực hiện mức người dùng
(1)
Sẵn sàng sang mức người dùng
(7) Hoàn thiện (9)
Chờ đợi thiếu tài nguyên (4)
Sẵn sàng thực hiện (3)
Chờ đợi ở bộ nhớ ngoài (6)
Quá trình phát sinh (8)
Đợi bộ nhớ để thực hiện
(5)
Trang 8Các lệnh thao tác với quá trình
• CTRL+Z : Dừng quá trình
• fg (foreground): Tham chiếu đến các chương trình mà màn
hình cũng như bàn phím đang làm việc với chúng
Trang 10Các lệnh thao (tiep)
• Background mode
– PID: [số thứ tự của chương trình]
• <Lệnh>&: đưa một chương trình vào trong chế độ nền
• fg <số thứ tự của chương trình>
# find -name thu1 &
# fg 5
Trang 11Hiển thị các quá trình đang chạy
• -A, -e : chọn để hiển thị tất cả các quá trình
• -a : chọn để hiển thị tất cả các quá trình trên một trạm cuối,
bao gồm cả các quá trình của những người dùng khác
• -r : chỉ hiển thị quá trình đang được chạy.
• -C : chọn hiển thị các quá trình theo tên lệnh.
• -G : hiển thị các quá trình theo chỉ số nhóm người dùng.
• -U : hiển thị các quá trình theo tên hoặc chỉ số của người
dùng thực sự
Trang 12Hiển thị các quá trình (tiếp)
• [tùy_chọn]
– -o <xâu-chọn>
• %C, %cpu % CPU được sử dụng cho quá trình
• %mem % bộ nhớ được sử dụng để chạy quá trình
• %x thời gian để chạy quá trình
• %y thiết bị đầu cuối trên đó quá trình được thực hiện
Trang 13Hiển thị các quá trình (tiếp)
# ps -o '%U %G %p %P %y %x %c'
USER GROUP PID PPID TTY TIME COMMAND root root 1929 1927 pts/1 00:00:00 bash
root root 2279 1929 pts/1 00:00:00 ps
Trang 15Cho máy ngừng hoạt động một
thời gian
• sleep [tùy-chọn] NUMBER[SUFFIX]
– NUMBER: số giây(s) ngừng hoạt động.
– SUFFIX : có thể là giây(s) hoặc phút(m) hoặc giờ hoặc ngày(d)
Trang 16Xem cây quá trình
• pstree [tùy-chọn] [uid | người-dùng]
– init : Gốc của cây quá trình
– [tùy-chọn]
• -h : hiển thị quá trình hiện thời và "tổ tiên" của nó với
màu sáng trắng
• -H : giống như tùy chọn -h, nhưng quá trình con của quá
trình hiện thời không có màu sáng trắng
• -n : Sắp xếp các quá trình con theo chỉ số
Trang 17Đặt lại độ ưu tiên của quá trình
• nice [tùy-chọn] [lệnh [tham-số ] ]
– Chạy một chương trình (lệnh) theo độ ưu tiên đã sắp xếp
– -20 (mức ưu tiên cao nhất) 19 (mức ưu tiên thấp nhất)
Trang 18Đặt lại độ ưu tiên của quá trình
• renice <độ-ưu-tiên> [tùy-chọn]
– Thay đổi mức độ ưu tiên của một hoặc nhiều quá trình đang chạy
– [tùy_chọn]
• -g : thay đổi quyền ưu tiên theo nhóm người dùng
• -p : thay đổi quyền ưu tiên theo chỉ số của quá trình
• -u : thay đổi quyền ưu tiên theo tên người dùng
# renice +1 987 -u daemon root -p 32
Trang 19QUẢN LÝ
TÀI KHOẢN NGƯỜI DÙNG
Trang 20File /etc/passwd
Trang 21Them người dùng mới
#useradd [tùy-chọn] <tên-người-dùng>
#useradd -D [tùy-chọn]
– [tùy-chọn]
• -c, comment : soạn thảo trường thông tin về người
dùng.
• -d, home_dir : tạo thư mục đăng nhập cho người dùng.
• -e, expire_date : thiết đặt thời gian (YYYY-MM-DD) tài
khoản người dùng sẽ bị hủy bỏ
• -g, initial_group : Nhóm mặc định người dùng thuộc vào
• -G, group [<group1>[,<group2>]…]
• -m : với tùy chọn này, thư mục cá nhân của người dùng
sẽ được tạo nếu nó chưa tồn tại.
• -M : không tạo thư mục người dùng.
• -n : một nhóm cùng tên với người dùng sẽ được tạo
• -p, passwd : tạo mật khẩu đăng nhập cho người dùng.
Trang 22Theme người dùng mới
• #useradd …(tiếp)
– [tùy_chọn]
– -D: Cập nhật các giá trị mới.
• -e, default_expire_date : thay đổi thời hạn hết giá trị của
tài khoản người dùng.
• -f, default_inactive : xác định thời điểm hết hiệu lực của
mật khẩu đăng nhập khi tài khoản người dùng bị xóa bỏ.
• -g, default_group : thay đổi chỉ số nhóm người dùng.
• -s, default_shell : thay đổi shell đăng nhập.
Trang 23Thiết lập mật khẩu người dùng
# passwd <tên_người_dùng>
passwd:
Trang 24Thay đổi thuộc tính người dùng
#usermod [tùy-chọn] <tên-đăng-nhập>
• [tùy_chọn]
– -c, comment : thông tin cá nhân
– -d, home_dir : thư mục cá nhân
– -e, expire_date : thời điểm hết hạn của tài khoản người dùng (YYYY-MM-DD)
– -f, inactive_days : ngày hết hiệu lực của mật khẩu
– -g, initial_group
– -G, group
– -l, login_name : thay đổi tên đăng nhập của người dùng
– -p, passwd : thay đổi mật khẩu đăng nhập
– -s, shell : thay đổi shell đăng nhập
– -u, uid : thay đổi chỉ số người dùng
Trang 25Xóa bỏ một người dùng
#userdel [-r] <tên-người-dùng>
• Không cho phép xóa bỏ người dùng khi họ
đang đăng nhập vào hệ thống
• Phải hủy bỏ mọi quá trình có liên quan đến
người dùng trước
• -r : các file tồn tại trong thư mục riêng của
người dùng cũng như các file nằm trong các thư mục khác có liên quan đến người dùng
bị xóa bỏ cùng lúc với thư mục người dùng
Trang 26File /etc/group
Trang 27Thêm nhóm người dùng
#groupadd [tùy-chọn] <tên-nhóm>
• [tùy_chọn]
– -g, gid : Xác định chỉ số nhóm người dùng, Chỉ số
mới phải có giá trị lớn hơn 500
– -f : Bỏ qua việc nhắc nhở, nếu nhóm người dùng đó
đã tồn tại, nó sẽ bị ghi đè.
Trang 28Sửa đổi các thuộc tính nhóm
#groupmod [tùy-chọn] <tên-nhóm>
• [tùy-chọn]
– -g, gid : thay đổi giá trị chỉ số của nhóm người dùng – -n, group_name : thay đổi tên nhóm người dùng.
Trang 29Xóa một nhóm người dùng
#groupdel <tên-nhóm>
• Phải xóa tất cả người dùng trong nhóm trước
Trang 30Các lệnh liên quan người dùng
#su <người_dùng>
• Đăng nhập với tư cách <người_dùng>
• #su root
#exit hoặc CTRL+D
Trang 31Các lệnh liên quan người dùng
Trang 32Các lệnh liên quan người dùng
#id [tùy-chọn] [người-dùng]
• Đưa ra thông tin về người dùng
• [tùy-chọn]
– -g, group : chỉ hiển thị chỉ số nhóm người dùng – -u, user : chỉ hiển thị chỉ số của người dùng.