3.3 Quản lý tiến trình
37
3.3.9
nohup
Thiết bị đầu cuối mà từ đó chạy một công việc gọi là thiết bị đầu cuối điều khiển. Một số
vỏ shell sẽ gửi tín hiệu SIGHUP tới các công việc nền sau khi bạn đăng xuất
, khiến chúng
ngừng hoạt động. Để bảo vệ tiến trình khỏi hành động này, sử dụng nohup khi khởi động:
$ nohup make &
$ exit
3.3.10
Sử dụng ps liệt kê tiến trình
Câu lệnh jobs vừa dùng chỉ liệt kê tiến trình khởi động từ bash hiện thời. Để xem tất cả
tiến trình trên hệ thống, sử dụng ps với tùy chọn a và x cùng nhau:
$ ps ax
PID TTY
STAT
TIME
COMMAND
1?
S
0:04
init [3]
2?
SW
0:11
[keventd]
3?
SWN
0:13
[ksoftirqd_CPU0]
4?
SW
2:33
[kswapd]
5?
SW
0:00 [bdflush]
Chỉ liệt kê vài cái đầu tiên vì thường là một danh sách rất dài. Danh sách cho bạn một
"ảnh chụp nhanh" những gì mà máy đang làm, nhưng có rất nhiều thông tin để phân tích.
Nếu bỏ qua ax, sẽ chỉ thấy tiến trình mà bạn sở hữu, và có một thiết bị đầu cuối điều khiển.
Câu lệnh ps x sẽ cho thấy tất cả tiến trình của bạn, dù có hay không thiết bị đầu cuối điều
khiển. Nếu sử dụng ps a, sẽ nhận một sách tiến trình của tất cả người dùng mà gắn tới một
thiết bị đầu cuối.
3.3.11
Hiển thị cây và rừng
Có thể liệt kê thông tin khác về từng tiến trình. Tùy chọn --forest cho phép dễ dàng thấy
hệ thống cấp bậc, mà cho biết quan hệ giữa các tiến trình. Khi một tiến trình chạy một tiến
trình mới, tiến trình mới gọi là "con". Trong danh sách --forest, "bố mẹ" xuất hiện bên
trái, và "con" như một nhánh cây ở bên phải
$ ps x --forest
PID TTY
STAT
TIME COMMAND
927 pts/1
S
0:00 bash
6690 pts/1
S
0:00 \_ bash
26909 pts/1
R
0:00
\_ ps x --forest
19930 pts/4
S
0:01 bash
25740 pts/4
S
0:04 \_ vi processes.txt
2
người dịch: ví dụ xterm