You are on page 1of 21

Translated from English to Vietnamese - www.onlinedoctranslator.

com

CSE 265:
Quản trị Hệ thống và Mạng
● Kiểm soát quy trình
- Các thành phần của một quy trình
- Vòng đời của một quá trình
- Tín hiệu
- Gửi tín hiệu bằng cách sử dụng kill và killall
- Trạng thái quy trình
- Ảnh hưởng đến mức độ ưu tiên lên lịch trình bằng những thứ đẹp đẽ và đẹp đẽ

- Giám sát các quy trình với ps và top


- Quá trình chạy trốn
- Quy trình định kỳ

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Các thành phần của một quy trình

- Quá trình là sự khởi tạo của một chương trình

- Từ quan điểm của hạt nhân, một quá trình là:


● Không gian địa chỉ (tập hợp các trang bộ nhớ với mã, thư
viện và dữ liệu)
● Tập hợp các cấu trúc dữ liệu (trong nhân)
- Bản đồ không gian địa chỉ của quy trình
- Tình trạng hiện tại
- Ưu tiên thực thi
- Tài nguyên được sử dụng

- Mặt nạ tín hiệu (tín hiệu bị chặn)


- Chủ sở hữu
- Những hướng dẫn nào hiện đang được thực hiện

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Thuộc tính quy trình
● ID quy trình - PID
- Giá trị nhận dạng duy nhất, bao bọc xung quanh

● PID gốc - PPID


- Khi một tiến trình được nhân bản, có cha mẹ và con
● ID người dùng thực và hiệu quả - UID và EUID
- EUID được sử dụng để xác định những quyền nào mà quy trình có
- Đồng thời ghi lại EUID gốc (UID đã lưu)
● Có thể truy cập lại sau trong chương trình (ngay cả sau khi thay đổi EUID)
● ID nhóm thực và hiệu quả - GID và EGID
● Tốt đẹp
- Thời gian CPU có sẵn phụ thuộc vào mức độ ưu tiên lập lịch của nó
- Người dùng có thể làm cho các quy trình của họ 'đẹp hơn' so với phần còn lại của hệ thống
● Thiết bị đầu cuối điều khiển - nơi gắn stdin, stdout, stderr

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Quy trình vòng đời
- Một quy trình hiện có gọi fork (2)
● Cha mẹ được cho biết PID của con
● Tiến trình con được cho biết 0

- Trẻ em có thể sử dụng tệp thực thi (hoặc tương tự) để bắt đầu một chương trình mới

- Khi sẵn sàng chết, xử lý lệnh gọi _exit (2) với mã thoát
● Quá trình trở thành một thây ma
- Cha mẹ phải đợi (2) để thu thập tình trạng của những đứa trẻ đã chết
● Sử dụng tài nguyên, tại sao lại bị giết

- Trẻ mồ côi được ánh xạ lại thành init

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Tín hiệu
● Tín hiệu là các yêu cầu ngắt mức quy trình
● Sử dụng

- Giao tiếp giữa các quá trình


- Trình điều khiển thiết bị đầu cuối có thể giết, làm gián đoạn hoặc
tạm dừng các quy trình (Ctrl-C, Ctrl-Z)

- Có thể được gửi bởi quản trị viên (có giết) cho các mục đích khác nhau

- Có thể được gửi bằng hạt nhân khi quá trình vi phạm quy tắc
● ví dụ: chia cho 0
- Có thể được gửi bằng hạt nhân cho i / o có sẵn, cái chết của trẻ em

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Xử lý tín hiệu
- Quy trình có thể chỉ định một trình xử lý tín hiệu cho
một tín hiệu cụ thể
- Nếu không có trình xử lý, hạt nhân sẽ thực hiện một số hành động mặc định

- Khi trình xử lý hoàn tất việc bắt tín hiệu, việc thực
thi tiếp tục ở nơi nhận được tín hiệu
- Quá trình có thể yêu cầu các tín hiệu cụ thể bị bỏ
qua hoặc bị chặn
- Nếu tín hiệu được nhận trong khi bị chặn, một phiên bản của tín hiệu đó
sẽ được lưu vào bộ đệm cho đến khi nó được bỏ chặn

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Tín hiệu quan trọng
# Tên Sự mô tả Mặc định Chụp lấy? Khối? Bãi rác?
1 HÚT Treo lên Chấm dứt Đúng Đúng Không

Yêu cầu đặt lại; quy trình dọn dẹp trên thiết bị đầu cuối (modem treo máy)
* Các quy trình csh bỏ qua HUP; bash người dùng cầnnohupyêu
2 cầu Ngắt INT Chấm dứt Đúng Đúng Không

Control-C, có thể bắt và làm sạch trước khi châm ngòi.


3 QUIT Thoát Chấm dứt Đúng Đúng Đúng
Tương tự như TERM, nhưng tạo ra một kết xuất
9 lõi Giết giết Chấm dứt Không Không Không

Không bao giờ nhận được theo quy trình; Hệ điều hành kết thúc quá trình.

* Lỗi xe buýt BUS Chấm dứt Đúng Đúng Đúng


Tín hiệu báo lỗi. Điển hình là vấn đề căn chỉnh bộ
11 nhớ. Chấm dứt lỗi phân đoạn SEGV Đúng Đúng Đúng
Tín hiệu báo lỗi. Điển hình là quyền truy cập bộ nhớ vào không gian được bảo vệ.

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Thêm tín hiệu
# Tên Sự mô tả Mặc định Chụp lấy? Khối? Bãi rác?
15 KỲ HẠN Chấm dứt phần mềm Chấm dứt Đúng Đúng Không

Yêu cầu chấm dứt thực hiện. Quy trình có thể dọn dẹp, thoát ra.
* DỪNG Dừng Dừng lại Không Không Không

Hệ điều hành tạm ngừng thực hiện quy trình cho đến khi nhận được CONT.
* Bàn phím TSTP dừng Dừng lại Đúng Đúng Đúng
Bàn phím Ctrl-Z yêu cầu dừng. Có thể bắt được.
* CONT Tiếp tục sau khi dừng Tiếp Phớt lờ Đúng Không Không

tục sau STOP hoặc TSTP.


* Cửa sổ CHIẾN THẮNG đã thay đổi Phớt lờ Đúng Đúng Không

Được gửi bởi trình giả lập đầu cuối khi cấu hình thay đổi (thay đổi kích thước)
* USR1 Do người dùng xác định Chấm dứt Đúng Đúng Không

Đã xác định người dùng. Apache khởi động lại một cách duyên dáng.

* USR2 Do người dùng xác định Chấm dứt Đúng Đúng Không

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Gửi tín hiệu

# giết chết[-dấu hiệu]pid

# giết chếtgửi tín hiệu TERM theo mặc định

# kill -9pid===giết giếtpid


- “Bảo đảm ”rằng quy trình sẽ chết
# kill -USR1 910 3044
# sudo killall -USR1 httpd
- killallloại bỏ nhu cầu về pid

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Trạng thái quy trình

● Quy trình tồn tại ở một trong bốn trạng thái


- Runnable-có thể được thực hiện

- Đang ngủ-chờ đợi một số tài nguyên


● Không có thời gian CPU cho đến khi tài nguyên có sẵn
- Thây ma-cố gắng chết (cha mẹ đã không chờ đợi)

- Đã dừng lại-quá trình bị tạm dừng (tức là không


được phép chạy)
● Giống như đang ngủ, nhưng không thể thức dậy cho đến khi nhận được CONT

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Lên lịch ưu tiên
- “Niceness ”là gợi ý cho hạt nhân về mức độ thường xuyên
để lên lịch cho quy trình
- Linux dao động từ -20 (ưu tiên cao, không đẹp) đến +19
(ưu tiên thấp, rất tốt), 0 là mặc định
- Người dùng / quy trình có thể nâng cao, nhưng không làm giảm độ đẹp

● Gốc có thể thấp hơn

- Các ví dụ
%tốt đẹp +5 ~ / bin /
longtask %renice -5 8829
%sudo renice 5 -u boggs

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Các quy trình giám sát: ps
● /công cụ chính bin / ps
● trình diễn

- PID, UID, ưu tiên, thiết bị đầu cuối điều khiển

- Sử dụng bộ nhớ, thời gian CPU, trạng thái

● Nhiều biến thể của ps


- ps -aux(BSD, Linux)
- ps -f(Solaris)

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Ví dụ đầu ra ps
NGƯỜI SỬ DỤNG PID% CPU% MEM VSZ RSS TTY THỐNG KÊ BẮT ĐẦU YÊU CẦU
THỜI GIAN

nguồn gốc 1 0,0 0,0 1364 64? S 2003 3:03 init [5] - - trong đó
nguồn gốc 2 0,0 0,0 0 0? SW 2003 1:35 [keventd]
nguồn gốc 3 0,0 0,0 0 0? SWN 2003 0:27 [ksoftirqd_CPU0]
nguồn gốc 5 0,1 0,0 0 0? SW 2003 465: 05 [kswapd]
nguồn gốc 6 3.0 0,0 0 0? SW 2003 7754: 49 [kscand]
nguồn gốc 7 0,0 0,0 0 0? SW 2003 1:16 [bdflush]
nguồn gốc số 80,0 0,0 0 0? SW 2003 4:06 [cập nhật]
nguồn gốc 9 0,0 0,0 0 0? SW < 2003 0:00 [mdrecoveryd]
nguồn gốc 13 0,0 0,0 0 0? SW 2003 16:12 [kjournald]
nguồn gốc 92 0,0 0,0 0 0? SW 2003 0:00 [khubd]
nguồn gốc 589 0,0 0,0 0 0? SW 2003 0:01 [eth0]
nguồn gốc 761 0,0 0,0 1424 340? 766 0,0 0,0 S 2003 0:48 syslogd -m 0 0:00
nguồn gốc 1364 244? 786 0,0 0,0 1524 360? S 2003 klogd -x
rpc 814 0,0 0,0 1660 484? 933 0,0 0,0 S 2003 0:22 sơ đồ cổng
rpcuser 1884 1880? 1045 0,0 0,0 2140 164? S 2003 1:27 rpc.statd
ntp 1092 0,0 0,0 1796 176? 1097 SL 2003 11:18 ntpd -U ntp -g 2003
nguồn gốc S 0:00 xinetd -stayalive
nguồn gốc S 2003 0:00 rpc.rquotad
nguồn gốc 0,1 0,0 0 0? SW 2003 267: 24 [nfsd]
nguồn gốc 1105 0,0 0,0 0 0? SW 2003 0:05 [khóa]
nguồn gốc 1113 0,0 0,0 Năm 1960 608? 1209 0,0 S 2003 0:02 rpc.mountd
nguồn gốc 0,0 1560 288? 1383 0,0 0,0 1408 200? S 2003 1:14 crond
daemon 1456 0,0 0,0 1348 116 tty2 S 2003 0:00 / usr / sbin / atd
nguồn gốc S 2003 0:00 / sbin / mingetty tt

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Các quy trình giám sát: hàng đầu

● /usr / bin / top là tùy chọn trong một số hệ điều hành

● Hiển thị các quy trình sử dụng CPU hàng đầu


- Cộng với các số liệu thống kê khác, như sử dụng bộ nhớ
và tính khả dụng, tải hệ thống

- Có thể renice trong đầu

- Tự động làm mới màn hình sau mỗi 5 giây


- Có thể tập trung vào một người dùng cụ thể

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Đầu ra mẫu hàng đầu
top - 20:30:57 lên 1 ngày, 22:48, 15 người dùng, tải trung bình: 0,04, 0,07, 0,05 Nhiệm vụ: tổng cộng
163, 1 đang chạy, 162 đang ngủ, 0 dừng, 0 zombie Cpu: 4,7% chúng tôi , 1,5% sy, 0,0% ni, 93,5% id, 0,0%
wa, 0,2% hi, 0,2% si, 0,0% st Mem:
Tổng cộng 2073964k, 1525460k đã qua sử dụng, 548504k miễn phí, 200188k bộ đệm
Tráo đổi: Tổng cộng 4194296k, 0k đã sử dụng, 4194296k miễn phí, 798200k được lưu vào bộ nhớ đệm

PID USER PR NI VIRT RES SHR S% CPU% MEM 15 TIME + COMMAND


5792 brian 0 362m 196m 27m S 0 5 9,7 172: 39,93 firefox-bin 0,4 0:
5540 brian 15 17984 9112 6532 S 0 3 49,05 độ mờ
5406 gốc 15 136m 107m 11m S 0 3 5,3 44: 58,77 Xorg
10001 brian 15 104m 27m 15m S 0 0 1.4 Hộp nhịp điệu 0: 52,50
17511 brian 15 2168 1040 792 R 0 0,1 0: 00.01 trên cùng
25759 gốc 5 -10 508m 158m 154m S 0 0 2.0 74: 54,98 vmware-vmx
17124 hadoop 21 1207m 15m 2716 S 0 0,2 7: 46,71 java
17231 hadoop 15 0 1204m 12m 1304 S 0 0,2 1: 55,97 java
25370 gốc 15 0 382m 4976 2428 S 0 0 0,1 7: 50,96 vmplayer
2513 ntp 15 19116 4808 3716 S 0 0 0,1 0: 04.37 ntpd
23138 gốc 15 84980 3184 2492 S 0 0,0 0: 00.03 sshd
3184 gốc 12 - 3 120m 1764 1196 S 0 0 0,0 0: 01.83 trăn
1 gốc 15 2044 640 552 S 0 0 0,0 0: 02.74 init
2 gốc RT 0 0 0S 0 0,0 0: 00.00 di chuyển / 0
3 gốc 34 19 0 0 0S 0 0,0 0: 00.00 ksoftirqd / 0
4 gốc RT 0 0 0 0S 0 0,0 0: 00.00 cơ quan giám sát / 0
5 gốc RT 0 0 0 0S 0 0,0 0: 00.00 di chuyển / 1

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Quá trình chạy trốn
● Bạn có thể làm gì với các quy trình sử dụng một
lượng tài nguyên bất thường (bộ nhớ, CPU, dung
lượng đĩa)?
- Xác định các nguồn tài nguyên bằng cách sử dụngđứng đầuvà / hoặcps

- Liên hệ với chủ sở hữu và hỏi về việc sử dụng tài nguyên

- Tạm dừng bằng cách sử dụng tín hiệu STOP (có thể làm hỏng công việc)

● Liên hệ với chủ sở hữu, khởi động lại hoặc giết sau

- Renice CPU heo

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Tạo quy trình định kỳ
● Tự động hóa, như bạn đã nghe, là chìa khóa của hiệu quả
● Thay vì thực hiện các công việc hàng ngày, hàng tuần hoặc hàng
tháng theo cách thủ công, bạn có thể lên lịch cho chúng

- cron
- anacron

● Bao gồm các nhiệm vụ như:

- giám sát, xoay vòng nhật ký, sao lưu, phân phối tệp

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
cron
- cron daemon thực hiện các tác vụ vào thời gian đã lên lịch

- các tệp crontab được cron kiểm tra để biết lịch trình
● /etc / crontab, /etc/cron.d/*, / var / spool / cron / *
- cron thức dậy mỗi phút và kiểm tra xem có điều
gì cần được thực hiện không
- cron dễ bị thay đổi theo thời gian
● không bù cho thời điểm máy bị trục trặc hoặc thay đổi thời
gian (điều chỉnh đồng hồ hoặc thời gian tiết kiệm ánh sáng ban
ngày) đủ lớn (ít nhất là 3 giờ đối với một số triển khai)
- anacron hoạt động hàng ngày
● ghi lại khi tác vụ được thực hiện lần cuối và sẽ bắt kịp thời gian
còn thiếu
Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
tệp crontab
- Tên tệp cung cấp tên người dùng trong / var / spool / cron /

- Các mục crontab mẫu:


# run make lúc 2:30 sáng thứ Hai hàng tuần 30 2
* * 1 (cd / home / joe4 / project; make)

http://www.notesbit.com/index.php/scripts-unix/crontab-quick-complete-reference-setting-up-cronjobs-in-unix-and-linux/

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Quản lý crontabs
● Sử dụngcrontab -echỉnh sửa
- Kiểm tra một bản sao

- Sử dụng biến môi trường EDITOR


- Gửi lại nó vào thư mục / var / spool / cron /
● crontab -lsẽ liệt kê các nội dung để stdout
● /etc / cron.allow và /etc/cron.deny có thể kiểm soát quyền
truy cập vào các cơ sở cron

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison
Sử dụng cron

- Bản phân phối thiết lập các mục crontab để tự động chạy các
tập lệnh trong
● /etc / cron.monthly /
● /etc / cron.weekly /
● /etc / cron.daily /
● /etc / cron.hourly /
- Nhiệm vụ điển hình:
● Làm sạch hệ thống tệp (tệp trình chỉnh sửa, tệp lõi) bằng cách sử dụng tìm
● Phân phối tệp (bí danh thư, cấu hình sendmail, v.v.) bằng rsync,
rdist hoặc mong đợi
● Xoay vòng nhật ký

Mùa xuân 2016 CSE 265: Quản trị Hệ thống và Mạng © 2004-2016 Brian D. Davison

You might also like