Newsletter

Child Processes

Child-Processes is a child process management library for the .NET Framework. It allows to create child processes, and provides bidirectional extendable interprocess communication channel based on WCF and NamedPipes.
Free

Child-Processes is a child process management library for the .NET Framework. It allows to create child processes, and provides bidirectional extendable interprocess communication channel based on WCF and NamedPipes.

 

Child and parent processes monitor each other and notify about termination or other events.

Child processes are an alternative to AppDomains when parent must continue if the child crashes. It is also possible to mix 32Bit and 64 Bit processes.

 

Features

  • Mutual controlling of Parent / Child processes
  • Termination of child processes when parent process terminates.
  • Notification of parent process when child process terminates
  • Event based Process State change notification
  • Predefined Ipc mechanism between parent and child processes based on WCF and Namedpipes
  • Bidirectional Ipc channels from child process to parent process and vice versa.
  • Extendability of IPC Mechanism due to inheritance

 

Architecture

Sample is included in source code. It shows how to customize the parent child process management and Ipc channels

Parent Process

  1. The parent process creates an instance of ChildProcessManager or derived (customized) class
  2. The parent Process starts child processes with manager.StartChildProcess()
  3. The parent process calls periodically manager.ProcessWatchdog()

 

Child Process

  1. The child process creates an instance of ChildProcessInstance or derived (customized) class
  2. The child process calls periodically manager.ProcessWatchdog() and checks if instance.Shutdown is true

ChildProcesses is available as NuGet Package:
http://nuget.org/packages/ChildProcesses

 

There is also a debugger helper that attaches the visual studio debugger automatically to the created child process.

It is also available as NuGet package:

https://www.nuget.org/packages/ChildProcesses.VisualStudioDebug