Raised when a process started with the ProcessRunner exits
Syntax
Example
Library/Library.Test/TestScriptRunner.cs
C# | Copy Code |
---|
using (ScriptRunner runner = new ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }"))
{
ManualResetEvent mre = new ManualResetEvent(false);
runner.ProcessExited += delegate(object o, ProcessExitedEventArgs e) { mre.Set(); };
runner.Start();
Assert.IsTrue(runner.IsRunning);
Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero));
runner.Kill();
Assert.IsTrue(mre.WaitOne(0, false));
Assert.IsFalse(runner.IsRunning);
Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero));
Assert.AreNotEqual(0, runner.ExitCode);
} |
VB.NET | Copy Code |
---|
Using runner As New ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }")
Dim mre As New ManualResetEvent(False)
runner.ProcessExited += Function(o As Object, e As ProcessExitedEventArgs) Do
mre.[Set]()
End Function
runner.Start()
Assert.IsTrue(runner.IsRunning)
Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero))
runner.Kill()
Assert.IsTrue(mre.WaitOne(0, False))
Assert.IsFalse(runner.IsRunning)
Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero))
Assert.AreNotEqual(0, runner.ExitCode)
End Using |
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
See Also