title: Process.Kill() and process events
body: <p>Here is the situation:
  I have to create a program that would input another processes output stream into textbox. That it self wouldn't cause too much problem. What does, however, is the fact that I have to run 5 instances of this console application and redirect output to 5 textboxes, as well as to be able to kill any of these processes at any time. As far as I have learned, the best way to do this is asynchronously. But the problem here is with killing processes, that are created on different thread. How do I kill it without having access to it since it doesn't exist in scope where I have to kill it. My best guess is to get its PID on <code>Process.Start()</code>, so I can kill it, so...</p>
  
  <p>Is it possible to fire any event from process on <code>Process.kill()</code> command?
  And if not - is there a way to kill a process in about the same time interval as <code>Process.Kill()</code> that does fire some sort of event?</p>
  
  <p>Or maybe someone could suggest me some other approaches or best practice on how these problems are usually solved? </p>
  
  <p>EDIT: The reason I am running all processes on different threads is that I use <code>Thread.Sleep()</code> on some of them if there is and input parameter that tell me that the process must be killed after x seconds.</p>