Practical experience with sophisticated unix users led Berkeley Unix to introduce job control, the facility that lets one suspend a running unix task by typing (typically) ^Z, or kill it by typing (typically) ^C.
Implementing this sort of seemingly simple facility requires a moderately sophisticated data structure:
The unix solution is to group into a 'session' all processes belonging to a single login, and within the session to group all processes implementing a single user command into a 'process group', which may then as a unit be killed, suspended, activated or moved between foreground and background, via appropriate signals to the process group (which are then merely sent to all the processes in the group).
Muq follows the unix model quite closely, with session ('ssn') objects which may be created via make-session, job sets ('jbs') objects which may be created via make-jobset, and job control signals closely patterned on unix.
Go to the first, previous, next, last section, table of contents.