On Sat, 2018-09-08 at 10:24 +0000, FreeSlave via Digitalmars-d-learn wrote: > On Friday, 7 September 2018 at 14:36:42 UTC, Russel Winder wrote: > > From what I can see, processes created with std.process: > > spawnProcess are not terminated when the creating process > > terminates, i.e. it seems Config.detached is the default for > > these process. > > No, detached is not default. By default you should call wait on > processes to free OS resources. Process may stay as zombie > otherwise and it can be visible in process manager.
Annoying but yes, it looks like having a global registry of processes has to be created so they can be killed on main termination. :-( Though I am going to tinker with Basile B's suggestion of using a managing object with a destructor to see if that can avoid the global registry. > > Is there a way of all spawned processes being terminated on > > main termination? > > You probably need to register all child processes. Or spawn them > as detached so you won't need to worry about freeing them. Detached is not a good idea, the spawned processes should not outlive the spawning process. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk
signature.asc
Description: This is a digitally signed message part