1. Mặc dù người dùng đăng nhập vào một quy trình (shell là giao diện dòng lệnh của họ), người dùng cuối cùng vẫn chạy nhiều quy trình do kết quả của hành động như:
-> Chạy tác vụ không tương tác trong nền.
-> Chuyển đổi giữa các tác vụ tương tác thông qua kiểm soát công việc.
-> Bắt đầu nhiều quá trình làm việc cùng nhau thông qua các đường ống.
-> Chạy hệ thống cửa sổ như hệ thống cửa sổ X cho phép mở nhiều cửa sổ đầu cuối.
2. Để xử lý tất cả các quy trình này, kernel cần tạo thành các nhóm quy trình bao gồm các quy trình này.
3. Để thay đổi các nhóm quy trình này theo người dùng, các nhóm này được chia theo người dùng thành các phiên. (Lưu ý ở đây người dùng không phải là người dùng linux, nhưng shell hoặc terminal là viết tắt của người dùng. Hai thiết bị đầu cuối trên cùng một máy được đăng nhập bởi cùng một người dùng linux là viết tắt của 2 người dùng khác nhau và do đó có 2 phiên người dùng khác nhau ở đây. Một thiết bị đầu cuối có thể điều khiển thiết bị đầu cuối chỉ trong một phiên duy nhất).
Quá trình đang chạy shell cho phiên người dùng đó hoặc phiên được gọi là người dẫn đầu phiên.
4. Cũng lưu ý đóng thiết bị đầu cuối bằng cách nhấn nút 'x' không khiến bạn ra khỏi thiết bị đầu cuối đó. Thiết bị đầu cuối đó tiếp tục chạy trong nền. Nếu bạn muốn qua phiên từ thiết bị đầu cuối, bạn phải đăng xuất từ đó bằng cách nhấn CTRL + D hoặc thoát.
5. Khi bạn đăng xuất khỏi terminal, kernel sẽ gửi tín hiệu SIGHUP (tương tự như kill -1) để xử lý đó là người dẫn đầu phiên. Bây giờ mọi quy trình khác đang chạy trong thiết bị đầu cuối là con của nhà lãnh đạo phiên này. Các quy trình con này đã hình thành các nhóm quy trình được kiểm soát bởi quy trình lãnh đạo phiên này (quy trình cha).
6. Quy trình lãnh đạo phiên gửi SIGHUP cho mỗi quy trình con, một số quy trình chấm dứt, trong khi một số có thể chọn không chấm dứt (những quy trình bị đình chỉ hoặc đang chạy trong nền). Những người chọn không chấm dứt trở thành mồ côi như phiên ngoại và ngay lập tức được thông qua bởi quá trình init (cha mẹ của tất cả quá trình trong máy linux).
Để biết thêm Liên kết Tham khảo Mô hình Quy trình Phát triển Linux