Roland Mainz writes: > "Jordan Brown (Sun)" wrote: > > Roland Mainz wrote: > > > How does SMF detect that a child process failed ? > > > > svc.startd(1M) says that a contract-model service has failed if: > > o all processes in the service exit > > o any processes in the service produce a core dump > > How is this detected ?
contractfs -- see contract(4). > > o a process outside the service sends a service process a > > fatal signal (for example, an administrator terminates > > a service process with the pkill command) > > What happens if a process within the service sends another process > within the service a SIGKILL and doesn't reap the child's corpse > immediately ? Nothing. > And what happens if the same happens between threads of > the same process (which will be important since we're going to add > thread support to ksh93 and these threads should be able to communicate > via signals, too) ? Nothing. > > Here it's mixed. Note that the rule above talks about a process outside > > the service (I presume that means in a different contract) sending a > > fatal signal (I presume that means that it's not being caught). > > Is there a way to turn this behaviour "off" ? Yes. But it's the default for SMF services. -- James Carlson, Solaris Networking <james.d.carlson at sun.com> Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084 MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677