Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

More features than the tdm_spawn set of functions: see online reference pages
More flexible than the fork() function and the exec set because you can change
process attributes
File opens are propagated to the child process
Less efficient when creating many processes
Supports specifying maximum heap and main stack values
tdm_spawn set of functions
Flexibility to change process attributes
Efficient when creating many processes
Creates a process on another processor efficiently, thereby providing load balancing
File opens are propagated to the child process
Supports specifying maximum heap and main stack values
PROCESS_SPAWN_ procedure call
Can create an OSS process from a Guardian program
High interoperability with Guardian processes and subsystems
Can be called from either a Guardian or OSS process
Creates a process on another processor efficiently, thereby providing load balancing
OSS processes can be persistent when PROCESS_SPAWN_ is used in a Guardian process
pair monitor
File opens are not propagated to the child process
PROCESS_LAUNCH_ procedure call (supersedes PROCESS_CREATE_)
Provides the same services and support as the PROCESS_CREATE_ procedure call
Can be called from either a Guardian or OSS process
Can be called from native and TNS processes
Supports specifying maximum heap and main stack values
PROCESS_CREATE_ procedure call (superseded by PROCESS_LAUNCH_)
Can create only Guardian processes
Creates a process on another processor efficiently, thereby providing load balancing
Can be called from either a Guardian or OSS process
Can be called from native and TNS processes
The SIGCHLD Signal and the Creation of Zombie Processes
In UNIX programs, the SIGCHLD signal is used to notify parent processes of the termination of
child processes. The OSS implementation of the SIGCHLD signal differs from other implementations
of UNIX. The OSS implementation may result in the creation of zombie processes in certain cases
unless specific action is taken to prevent their creation.
A zombie process is a process that occupies a slot in the process table but has no other space
allocated to it. Zombie processes should be removed in order to free system resources.
The OSS implementation of SIGCHLD conforms to the POSIX.1 standard (IEEE Std. 1003.1-1990).
This implementation allows an application to ignore the SIGCHLD signal in the event that the
application does not want to catch the signal. As required by the standard, ignoring SIGCHLD is
the default action. However, the POSIX.1 standard does not specify the behavior when SIGCHLD
The SIGCHLD Signal and the Creation of Zombie Processes 99