Phát tín hiệu cho một chương trình đang chạy

Một phần của tài liệu Quản trị hệ điều hành linux (Trang 102 - 104)

8. Quản trị các tiến trình 1 Ti ến Trình

8.2.2.Phát tín hiệu cho một chương trình đang chạy

S dng lnh kill hy mt tiến trình

Câu lệnh kill là một kịch bản shell được xây dựng sẵn, thường được tìm thấy trong thư mục /bin. Bạn có thể dùng lệnh này để dừng một tiến trình nào đó. bạn có thể chạy:

kill PID

S dng lnh killall hy mt tiến trình

Tiện ích này cho phép bạn dừng một tiến trình bằng tên. Ví dụ bạn có một tiến trình được goi là signal_demo.pl và bạn muốn dừng tiến trình này. Bạn sử dụng lệnh:

killall signal_demo.pl

Chy mt tiến trình hu cnh hoc tin cnh

Thông thường khi chúng ta chạy một tiến trình từ thiết bị đầu cuối (bàn phím) hay shell, bạn chạy tiến trình ở tiền cảnh. Khi bạn chạy tiến trình ở tiền cảnh, bạn phải đợi cho nó kết thúc. Tuy nhiên, thay vì việc đợi cho nó kết thúc, bạn có thể chạy nó ở hậu cảnh bằng việc thêm một ký hiệu ‘&’ ở cuối dòng lệnh. Điều này hữu ích khi một tiến trình chạy trong thời gian dài và bạn cần phải làm một công việc khác. Ví dụ, để khởi động hệ quản trị CSDL PosgresSQL với postmaster bạn thực hiện:

postmaster –i &

Vậy khi nào bạn biết một tiến trình hậu cảnh đang chạy hay đã dừng. Bạn có thể sử dụng lệnh:

ps -af

để xem tất cả các tiến trình trong đó có cả tiến trình ở hậu cảnh.

Tm dng tiến trình

Nếu một tiến trình đang chạy ở tiền cảnh và bạn muốn đưa chúng vào hậu cảnh, bạn thực hiện công việc này bằng cách nhấn tổ hợp phím Ctrl + Z. Khi nhận được tín hiệu Ctrl+Z tiến trình sẽ bị tạm dừng và được đưa vào hậu cảnh. Tuy nhiên bạn chưa biết được chương trình của chúng ta đã dừng chưa và đã chuyển vào hậu cảnh chưa. Lệnh jobs hiển thị trạng thái của tất cả các tiến trình đang chạy ở hậu cảnh:

[1] Stopped man ln (wd: /home/trantu/exam) [2]- Stopped tail

[3]+ Stopped ls -R /

• Đánh thc tiến trình

Để đánh thức một tiến trình ta sử dụng lệnh bg kết hợp với số tác vụ trong hàng đợi liệt kê. Trong ví dụ ở trên ta có thể thực hiện lệnh:

bg 3

Một lần nữa ta sử dụng lệnh jobs, ta sẽ thấy thông tin hiện trên màn hình như sau: [1] Stopped man ln (wd: /home/trantu/exam)

[2]- Stopped tail [3]+ Running ls -R /

Để chuyển một tiến trình từ hậu cảnh sang chạy trên tiền cảnh bạn dùng lệnh fg. Ví dụ:

fg 3

Một phần của tài liệu Quản trị hệ điều hành linux (Trang 102 - 104)