Bài giảng Tổng quan về Linux - Chương 6: Linux Process Management
Số trang: 36
Loại file: pdf
Dung lượng: 763.78 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Tổng quan về Linux - Chương 1: Linux Process Management, giới thiệu các nội dung: tiến trình trong Linux, các loại tiến trình, chạy một tiến trình, dừng một tiến trình,... Đây là tài liệu học tập và giảng dạy dành cho sinh viên và giảng viên ngành CNTT.
Nội dung trích xuất từ tài liệu:
Bài giảng Tổng quan về Linux - Chương 6: Linux Process ManagementLinux Process ManagementGiới thiệu Tiến trình (process) là một chương trình đơn chạy trên không gian địa chỉ ảo của nó. Cần phân biệt tiến trình với lệnh vì một dòng lệnh trên shell có thể sinh ra nhiều tiến trình. Ví dụ: dòng lệnh sau netstat –n | grep 8080 | more sẽ sinh ra 3 tiến trình khác nhau. Kiểm soát tiến trình là khả năng giao tiếp liên tiến trình được xử lý bởi KernelCác loại tiến trình chính Tiến trình với đối thoại (Interactive processes) : là tiến trình khởi động và quản lý bởi shell, kể cả tiến trình foreground hoặc background. Tiến trình batch (Batch processes) : Tiến trình không gắn liền đến bàn điều khiển (terminal) và được nằm trong hàng đợi để lần lượt thực hiện. Tiến trình ẩn trên bộ nhớ - Daemon processes Daemon processes Là các tiến trình chạy dưới background. Đa số các server cho các dịch vụ chạy theo phương thức này. Đây là các chương trình sau khi được gọi lên bộ nhớ, đợi thụ động các yêu cầu từ các client để trả lời sau các port xác định. Hầu hết các dịch vụ Internet như mail, Web, DNS … chạy theo nguyên tắc này. Các chương trình được gọi là các chương trình daemon và tên của nó thường kết thúc bằng ký tự “d” như named, inetd … Ký tự “d” cuối được phát âm rời ra như “đê “ trong Tiếng Việt.Kiểm tra tiến trình Cách đơn giản nhất để kiểm tra hệ thống tiến trình đang chạy là sử dụng lệnh ps (process status). Lệnh ps có nhiều tùy chọn (option) và phụ thuộc một cách mặc định vào người login vào hệ thống. $ ps PID TTY STAT TIME COMMAND 41 v01 S 0:00 -bash 134 v01 R 0:00 psCác lệnh liên quan đến process kill - Kill một tiến trình số PID killall - Gửi tín hiệu đến một tiến trình bằng tên nice - Thiết lập độ ưu tiên của 1 tiến trình mới pstree - Hiển thị cây các tiến trình đang chạy. renice – thay đổi thứ tự ưu tiên của tiến trình đang chạy. skill – Thông báo trạng thái của tiến trình snice - Thông báo trạng thái của tiến trình top - Hiển thị tải của hệ thốngLệnh ps Để hiển thị tất cả các process, ta có thể sử dụng lệnh ps –a. Một user thường có thể thấy tất cả các tiến trình, nhưng chỉ có thể điều khiển được các tiến trình của mình tạo ra. Chỉ có superuser mới có quyền điều khiển tất cả các tiến trình của hệ thống Linux Lệnh ps –ax cho phép hiển thị tất cả các tiến trình Ta có thể xem các tiến trình đang chạy cùng với dòng lệnh đầy đủ để khởi động tiến trình này bằng lệnh ps –axl.Dừng một tiến trình- kill Trong nhiều trường hợp, một tiến trình có thể bị treo, một chương trình server cần nhận cấu hình mới, card mạng cần thay đổi địa chỉ IP …, khi đó chúng ta phải dừng tiến trình. Linux có lệnh kill để thực hiện các công tác này. Trước tiên bạn cần phải biết PID của tiến trình cần dừng thông qua lệnh ps. Chỉ có super-user mới có quyền dừng tất cả các tiến trình, còn người sử dụng chỉ được dừng các tiến trình của mình.Lệnh kill kill -signal PID_của_ tiến_trình Tham số -signal là gửi tín hiệu dừng đến chương trình. Tùy theo mục đích ta có thể gửi tín hiệu dừng khác nhau đến tiến trình. Một tiến trình có thể sinh ra các tiến trình con trong quá trình hoạt động của mình. Nếu dừng tiến trình cha, các tiến trình con cũng sẽ dừng theo, nhưng không tức thì. Vì vậy phải đợi một khoảng thời gian và sau đó kiểm tra lại xem tất cả các tiến trình con có dừng đúng hay không.Dừng nhiều tiến trình - killall Lệnh killall dùng để dừng nhiều tiến trình bằng tên của tiến trình đó. Cách dùng : killall –SIGNAL tên_tiến_trình_cần_kill Ví dụ: killall -9 vi ; lệnh này sẽ kill hết tất cả các tiến trình vi đang chạy trong hệ thốngCác tín hiệu - Signal SIGHUP 1 Hangup (POSIX) SIGINT 2 Terminal interrupt (ANSI) SIGQUIT 3 Terminal quit (POSIX) SIGILL 4 Illegal instruction (ANSI) SIGTRAP 5 Trace trap (POSIX) SIGIOT 6 IOT Trap (4.2 BSD) SIGBUS 7 BUS error (4.2 BSD) SIGFPE 8 Floating point exception (ANSI)Signals (tiếp theo) SIGKILL 9 Kill(cant be caught or ignored) (POSIX) SIGUSR1 10 User defined signal 1 (POSIX) SIGSEGV 11 Invalid memory segment access (ANSI) SIGUSR2 12 User defined signal 2 (POSIX) SIGPIPE 13 Write on a pipe with no reader, Broken pipe (POSIX) SIGALRM 14 Alarm clock (POSIX) SIGTERM 15 Termination (ANSI) SIGSTKFLT 16 Stack fault Signals (tiếp theo) SIGCHLD 17 Child process has stopped or exited, changed (POSIX) SIGCONT 18 Continue executing, if stopped (POSIX) SIGSTOP 19 Stop executing(cant be caught or ignored) (POSIX) SIGTSTP 20 Terminal stop signal (POSIX) SIGTTIN 21 Background process trying to read, from TTY (POSIX) SIGTTOU 22 Background process trying to write, to TTY (POSIX) SIGURG 23 Urgent condition on socket (BSD)Signals (tiếp theo) SIGXCPU 24 CPU limit exceeded (4.2 BSD) SIGXFSZ 25 File size ...
Nội dung trích xuất từ tài liệu:
Bài giảng Tổng quan về Linux - Chương 6: Linux Process ManagementLinux Process ManagementGiới thiệu Tiến trình (process) là một chương trình đơn chạy trên không gian địa chỉ ảo của nó. Cần phân biệt tiến trình với lệnh vì một dòng lệnh trên shell có thể sinh ra nhiều tiến trình. Ví dụ: dòng lệnh sau netstat –n | grep 8080 | more sẽ sinh ra 3 tiến trình khác nhau. Kiểm soát tiến trình là khả năng giao tiếp liên tiến trình được xử lý bởi KernelCác loại tiến trình chính Tiến trình với đối thoại (Interactive processes) : là tiến trình khởi động và quản lý bởi shell, kể cả tiến trình foreground hoặc background. Tiến trình batch (Batch processes) : Tiến trình không gắn liền đến bàn điều khiển (terminal) và được nằm trong hàng đợi để lần lượt thực hiện. Tiến trình ẩn trên bộ nhớ - Daemon processes Daemon processes Là các tiến trình chạy dưới background. Đa số các server cho các dịch vụ chạy theo phương thức này. Đây là các chương trình sau khi được gọi lên bộ nhớ, đợi thụ động các yêu cầu từ các client để trả lời sau các port xác định. Hầu hết các dịch vụ Internet như mail, Web, DNS … chạy theo nguyên tắc này. Các chương trình được gọi là các chương trình daemon và tên của nó thường kết thúc bằng ký tự “d” như named, inetd … Ký tự “d” cuối được phát âm rời ra như “đê “ trong Tiếng Việt.Kiểm tra tiến trình Cách đơn giản nhất để kiểm tra hệ thống tiến trình đang chạy là sử dụng lệnh ps (process status). Lệnh ps có nhiều tùy chọn (option) và phụ thuộc một cách mặc định vào người login vào hệ thống. $ ps PID TTY STAT TIME COMMAND 41 v01 S 0:00 -bash 134 v01 R 0:00 psCác lệnh liên quan đến process kill - Kill một tiến trình số PID killall - Gửi tín hiệu đến một tiến trình bằng tên nice - Thiết lập độ ưu tiên của 1 tiến trình mới pstree - Hiển thị cây các tiến trình đang chạy. renice – thay đổi thứ tự ưu tiên của tiến trình đang chạy. skill – Thông báo trạng thái của tiến trình snice - Thông báo trạng thái của tiến trình top - Hiển thị tải của hệ thốngLệnh ps Để hiển thị tất cả các process, ta có thể sử dụng lệnh ps –a. Một user thường có thể thấy tất cả các tiến trình, nhưng chỉ có thể điều khiển được các tiến trình của mình tạo ra. Chỉ có superuser mới có quyền điều khiển tất cả các tiến trình của hệ thống Linux Lệnh ps –ax cho phép hiển thị tất cả các tiến trình Ta có thể xem các tiến trình đang chạy cùng với dòng lệnh đầy đủ để khởi động tiến trình này bằng lệnh ps –axl.Dừng một tiến trình- kill Trong nhiều trường hợp, một tiến trình có thể bị treo, một chương trình server cần nhận cấu hình mới, card mạng cần thay đổi địa chỉ IP …, khi đó chúng ta phải dừng tiến trình. Linux có lệnh kill để thực hiện các công tác này. Trước tiên bạn cần phải biết PID của tiến trình cần dừng thông qua lệnh ps. Chỉ có super-user mới có quyền dừng tất cả các tiến trình, còn người sử dụng chỉ được dừng các tiến trình của mình.Lệnh kill kill -signal PID_của_ tiến_trình Tham số -signal là gửi tín hiệu dừng đến chương trình. Tùy theo mục đích ta có thể gửi tín hiệu dừng khác nhau đến tiến trình. Một tiến trình có thể sinh ra các tiến trình con trong quá trình hoạt động của mình. Nếu dừng tiến trình cha, các tiến trình con cũng sẽ dừng theo, nhưng không tức thì. Vì vậy phải đợi một khoảng thời gian và sau đó kiểm tra lại xem tất cả các tiến trình con có dừng đúng hay không.Dừng nhiều tiến trình - killall Lệnh killall dùng để dừng nhiều tiến trình bằng tên của tiến trình đó. Cách dùng : killall –SIGNAL tên_tiến_trình_cần_kill Ví dụ: killall -9 vi ; lệnh này sẽ kill hết tất cả các tiến trình vi đang chạy trong hệ thốngCác tín hiệu - Signal SIGHUP 1 Hangup (POSIX) SIGINT 2 Terminal interrupt (ANSI) SIGQUIT 3 Terminal quit (POSIX) SIGILL 4 Illegal instruction (ANSI) SIGTRAP 5 Trace trap (POSIX) SIGIOT 6 IOT Trap (4.2 BSD) SIGBUS 7 BUS error (4.2 BSD) SIGFPE 8 Floating point exception (ANSI)Signals (tiếp theo) SIGKILL 9 Kill(cant be caught or ignored) (POSIX) SIGUSR1 10 User defined signal 1 (POSIX) SIGSEGV 11 Invalid memory segment access (ANSI) SIGUSR2 12 User defined signal 2 (POSIX) SIGPIPE 13 Write on a pipe with no reader, Broken pipe (POSIX) SIGALRM 14 Alarm clock (POSIX) SIGTERM 15 Termination (ANSI) SIGSTKFLT 16 Stack fault Signals (tiếp theo) SIGCHLD 17 Child process has stopped or exited, changed (POSIX) SIGCONT 18 Continue executing, if stopped (POSIX) SIGSTOP 19 Stop executing(cant be caught or ignored) (POSIX) SIGTSTP 20 Terminal stop signal (POSIX) SIGTTIN 21 Background process trying to read, from TTY (POSIX) SIGTTOU 22 Background process trying to write, to TTY (POSIX) SIGURG 23 Urgent condition on socket (BSD)Signals (tiếp theo) SIGXCPU 24 CPU limit exceeded (4.2 BSD) SIGXFSZ 25 File size ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành Linux Quản trị Linux Tìm hiểu về Linux Giới thiệu về Linux Bài giảng về Linux Tiến trình trong LinuxTài liệu liên quan:
-
183 trang 318 0 0
-
80 trang 262 0 0
-
117 trang 234 1 0
-
Giáo trình Hệ điều hành: Phần 2
53 trang 222 0 0 -
Giáo trình Hệ điều hành Linux (Ngành: Công nghệ thông tin) - CĐ Công nghiệp Hải Phòng
103 trang 196 0 0 -
271 trang 163 0 0
-
Hướng dẫn sử dụng Windows 7 với Boot Camp
8 trang 150 0 0 -
Nghiên cứu xây dựng bộ sinh số ngẫu nhiên tích hợp với nhiều hệ điều hành
5 trang 129 0 0 -
Giáo trình Hệ điều hành Linux và Unix
214 trang 125 0 0 -
212 trang 110 0 0