行程群組

在相容於POSIX標準的作業系統中,行程群組(英語:Process group,又譯過程群組)是指一個或多個行程的集合。行程群組被使用於控制信號的分配。對於一個行程群組發出的的信號,會被個別遞送到這個群組下的每個行程成員中。

行程群組本身,也可以被集合成一個群組來管理,稱為會議群組(sessions)。歸屬於某個特定會議群組下的行程群組,不能移動到別的會議群組下;在某個行程群組下的特定行程,在創造出新的行程時,這個行程也只能屬於這個父行程所歸屬的相同會議群組。

應用

shell程式藉由送出信號(Signal)給行程群組(Process groups)的方式來控制任務(job)。tty裝置使用所謂的前景行程群組(foreground process group),藉由鍵盤送給這種群組的信號來產生中斷:

  • SIGINT (INTerrupt, Control+C)
  • SIGTSTP (Terminal SToP, Control+Z)
  • SIGQUIT (QUIT, Control+\)

而背景行程群組(Background process group)在嘗試讀取或者寫至終端機(Terminal)時,行程將收到SIGTTIN或SIGTTOU信號。接下來shell會切開該指令丟進行程群組,然後控制在前景的行程群組來處理終端機有關的指令。

參考資料