I've set up a simple test-case at <https://github.com/bvdeenen/otp_super_nukes_all> that shows that an otp application:stop() actually kills **all** spawned processes by its children, even the ones that are **not linked**. 

The test-case consists of one gen\_server (registered as par) spawning a plain erlang process (registered as par\_worker) and a gen\_server (registered as reg\_child), which also spawns a plain erlang process (registered as child\_worker). Calling application:stop(test\_app) does a normal termination on the 'par' gen\_server, but an exit(kill) on all others!

Is this nominal behaviour? If so, where is it documented, and can I disable it? I want the processes I spawn from my gen\_server (not link), to stay alive when the application terminates.

Thanks

Bart van Deenen