The following diagram from APUE leads me to wonder: in a process session, does the process group of the session leader contain only the session leader and no other process?
Any process created by
fork()will inherit the same process group and session from its parent. So can the session leader fork arbitrary number of processes into its own process group?
For example, is a shell (when it is a session leader) the only process in its process group? If yes, is it because when the shell forks a child process, the child is initially in the same process group as the shell, but then immediately starts a new process group by calling