Các thao tác với tiến trình

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 61 - 64)

Quản lý tiến trình và tác vụ

6.1.5Các thao tác với tiến trình

Để quản lý các tiến trình, NSD cần thực hiện các thao tác: Liệt kê các tiến trình đang được thực hiện trong hệ thống, thay đổi mức độ ưu tiên của các tiến trình, thay đổi trạng thái của các tiến trình.

Câu lệnh ps Câu lệnh ps hiển thị các tiến trình đang được thực hiện. Mặc định câu lệnh này chỉ hiển thị các tiến trình do NSD khởi động. Cần thêm

Hình 6.1.1: Trạng thái của tiến trình

tùy biến -aux để hiển thị các tiến trình khác với đầy đủ thông tin hơn về tiến trình.

$ ps

PID TTY TIME CMD 2803 pts/1 00:00:00 bash 2965 pts/1 00:00:00 ps $ ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.1 1104 460 ? S 15:26 0:03 init[3] ... trunghq 951 0.0 0.3 1728 996 pts/0 S 16:09 0:00 bash trunghq 953 0.0 1.9 6860 4916 pts/0 S 16:09 0:00 emacs trunghq 966 0.0 0.3 2704 1000 pts/0 R 16:23 0:00 ps aux ...

Câu lệnh pstree Tiến trình luôn luôn được kích hoạt bởi một tiến trình khác (tiến trình cha). Với mối quan hệ cha con, tập hợp các tiến trình trên hệ thống tạo ra một cây tiến trình. Cây tiến trình này được hiển thị bởi lệnh pstree và có nút gốc là tiến trình init.

init-+-apache2---10*[apache2] |-atd |-console-kit-dae---63*[{console-kit-dae}] |-cron |-dbus-daemon |-dd |-6*[getty] |-mysqld_safe-+-logger | ‘-mysqld---14*[{mysqld}] |-rsyslogd---3*[{rsyslogd}] |-sshd-+-sshd---sshd---bash---pstree | ‘-2*[sshd---sshd] |-udevd---2*[udevd] ‘-upstart-udev-br

Hình 6.1.2: Cây tiến trình hiển thị bằng câu lệnh pstree .

Câu lệnh kill dùng để gửi các tín hiệu đến cho một tiến trình. Các tín hiệu quan trọng thường sử dụng là:

• SIGTERM (15): tín hiệu yêu cầu tiến trình nhận hoàn tất các công việc đang thực hiện và chuyển sang trạng thái kết thúc.

• SIGKILL (9): tín hiệu yêu cầu tiến trình chuyển sang trạng thái kết thúc ngay lập tức.

Lệnh killall dùng để kết thúc tất cả các tiến trình của một câu lệnh thông qua việc truyền tên của câu lệnh dưới dạng một tham số.

Quyền hủy tiến trình thuộc về người sở hữu tiến trình và root.

Câu lệnh top được sử dụng để hiển thị và điều khiển các tiến trình thông qua một giao diện tương tác. Các phím tắt thường dùng là:

• k: gửi tín hiệu SIGTERM đến cho tiến trình.

• r: thay đổi mức độ ưu tiên của tiến trình.

Câu lệnh nice

cho phép thay đổi mức độ ưu tiên của tiến trình. Trong hệ điều hành Linux, các tiến trình được thực hiện song song, phân chia thời gian của CPU dựa vào mức độ ưu tiên. Việc phân chia cụ thể hoàn toàn do nhân hệ điều hành thực hiện. NSD có thể cung cấp mức ưu tiên bằng giá trị nice từ -19 đến 10. Giá trị nice có thể được thay đổi ngay khi khởi tạo tiến trình bằng câu lệnh nice:

nice +13 pico myfile.txt

thực hiện lệnh pico với mức độ ưu tiên +13, hoặc được thay đổi khi tiến trình đang thực hiện với câu lệnh renice:

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 61 - 64)