Background, Foreground: &, bg, fg

Một phần của tài liệu ĐẠI HỌC THĂNG LONG BỘ MÔN TIN HỌC THỰC HÀNH LINUX (Trang 31 - 32)

2. Thao tác cơ bản trên Shell

2.10.1. Background, Foreground: &, bg, fg

Tiến trình ở chế độ nền là những tiến trình không tương tác trực tiếp với người dùng. Mặc dù nó vẫn chạy bên trong hệ thống nhưng những thao tác trên shell của người dùng (chẳng hạn như nhập dữ liệu) không ảnh hưởng đến chúng. Chế độ nền đặc biệt hữu ích cho những công vụ dài, cần nhiều thời gian thực thi. Thay vì phải đợi trước màn hình một lệnh cho đến khi nó kết thúc, bạn có thể đặt lệnh đó ở chếđộ nền và tiếp tục ra các lệnh khác. Chẳng hạn bạn có thể soạn thảo một file trong khi các file khác đang được in.

Để chạy một một lệnh ở chế độ nền, ta đặt dấu & ở cuối lệnh đó. Khi bạn thực hiện như vậy, số hiệu công vụ của người dùng và số hiệu tiến trình trong hệ thống của lệnh sẽđược hiển thị. Số hiệu công vụ người dùng được đặt trong dấu [ ] là số để người dùng tham chiếu đến công vụđó. Số hiệu tiến trình là số mà hệ thống gán cho công vụ.

Ví dụ:

$ lpr mydata &

[ 1 ] 534

Có thể đặt nhiều lệnh chạy ở chế độ nền bằng cách thêm ký tự & theo cách như trên. Để biết các công vụ nào đang thực hiện dưới dạng nền, ta dùng câu lệnh jobs.

Ví dụ:

$ lpr intro &

[ 1 ] 547

$ cat *.c > myprogs &

[ 2 ] 549

$ jobs

[ 1 ] + Running lpr intro

[ 2 ] - Running cat *.c > myprogs

Dấu + chỉ công vụ đang được thực hiện, dấu - chỉ công vụ sẽ được thực hiện ngay tiếp theo.

Chú ý: Có thể tạo nhiều công vụ nền trên cùng một dòng lệnh, khi đó ký tự & vừa có ý nghĩa chỉđịnh công vụ nền, vừa là ký tự ngăn cách lệnh.

Trong quá trình thao tác trên shell, hệ thống sẽ thông báo các công vụ nền nào vừa hoàn thành song lời thông báo chỉ xuất hiện sau khi bạn thao tác xong một lệnh nào đó. Muốn hệ thống thông báo ngay lập tức khi một công vụ nền kết thúc, ta dùng lệnh notify với đối số là số hiệu công vụ:

Ví dụ:

$ notify %1

Câu lệnh trên sẽ yêu cầu hệ thống thông báo ngay lập tức khi công vụ số 1 kết thúc. Có thể đưa một công vụ chạy ở chế độ nền lên chế độ trước (foreground). Công vụ foreground sẽ tiếp nhận trực tiếp những thao tác từ người dùng. Nếu chỉ có một công vụ nền, lệnh fg sẽ đưa công vụ đó lên chế độ foreground. Nếu có nhiều công vụ nền thì bạn phải chỉ rõ số hiệu của công vụ muốn đưa lên.

Ví dụ:

$ fg %1

lpr intro

Ta cũng có thể dùng lệnh bgđểđưa một công vụ foreground hiện thời về chếđộ nền.

Một phần của tài liệu ĐẠI HỌC THĂNG LONG BỘ MÔN TIN HỌC THỰC HÀNH LINUX (Trang 31 - 32)

Tải bản đầy đủ (PDF)

(65 trang)