2.1.3 Quy trình Chấm dứt
Sau một quá trình đã được tạo ra, nó bắt đầu chạy và làm bất cứ công việc của nó là. Tuy nhiên, không có gì
tồn tại mãi mãi, thậm chí không quy trình. Sớm hay muộn các quy trình mới sẽ chấm dứt, thường là do
một trong các điều kiện sau đây:
cảnh bình thường (tự nguyện). 1.
Lỗi xuất cảnh (tự nguyện). 2.
Fatal error (tự nguyện). 3.
Bị giết bởi một quá trình (tự nguyện). 4.
3.
4.
Hầu hết các quá trình chấm dứt vì họ đã làm công việc của họ. Khi một trình biên dịch đã biên soạn các
chương trình dành cho nó, các trình biên dịch thực hiện một hệ thống gọi để nói với các hệ điều hành mà nó được
hoàn thành. Điều này gọi là exitin UNIX và ExitProcessin Windows. Chương trình màn hình theo định hướng cũng
hỗ trợ tự nguyện chấm dứt. Xử lý văn bản, trình duyệt Internet và các chương trình tương tự như luôn luôn
có một biểu tượng hoặc mục menu mà người dùng có thể bấm vào để cho quá trình loại bỏ bất cứ tạm thời
các tập tin nó có mở và sau đó chấm dứt.
Lý do thứ hai chấm dứt là quá trình phát hiện ra một lỗi nghiêm trọng. Ví dụ, nếu một
người dùng gõ lệnh
cc foo.c
để biên dịch các foo.c chương trình và không có tập tin như vậy tồn tại, các trình biên dịch chỉ đơn giản là thoát. Màn hình theo định hướng
quá trình tương tác thường không thoát ra khi đưa ra các thông số xấu. Thay vào đó họ bật lên một
hộp thoại và yêu cầu người dùng để thử lại.
Lý do thứ ba để chấm dứt là một lỗi gây ra bởi quá trình này, thường do một chương trình lỗi
Ví dụ như thực hiện một lệnh bất hợp pháp, tham khảo bộ nhớ không tồn tại, hoặc chia
cho số không. Trong một số hệ thống (ví dụ như UNIX), một quá trình có thể nói với các hệ điều hành mà nó muốn
xử lý lỗi nào đó chính nó, trong trường hợp mà quá trình này được đánh dấu (gián đoạn) thay vì
kết thúc khi một trong các lỗi xảy ra.
Lý do thứ tư là một quá trình có thể chấm dứt là một quá trình thực hiện một cuộc gọi hệ thống nói với các
hệ điều hành để giết một số quá trình khác. Trong UNIX cuộc gọi này là giết. Các Win32 tương ứng
chức năng là TerminateProcess. Trong cả hai trường hợp, kẻ giết người phải có sự cho phép cần thiết để
làm trong killee. Trong một số hệ thống, khi quá trình kết thúc, hoặc là tự nguyện hay không, tất cả
các quá trình tạo ra nó bị giết ngay lập tức là tốt. Cả UNIX và Windows hoạt động theo cách này
tuy nhiên.
đang được dịch, vui lòng đợi..
