Kills the process if it is still running
            
            
            
Syntax
| Visual Basic (Declaration) |   | 
|---|
Public Sub Kill()   | 
 
            
            
             
            
Exceptions
| Exception | Description | 
| System.TimeoutException | The exception that is thrown when the time allotted for a process or operation has expired. | 
 
						
            
            
            
            
Example
Library/Library.Test/TestAssemblyRunner.cs
             | C# |  Copy Code | 
|---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"));
using (AssemblyRunner runner = new AssemblyRunner(Exe))
{
    ManualResetEvent gotExit = new ManualResetEvent(false);
    runner.ProcessExited += delegate(Object o, ProcessExitedEventArgs e) { gotExit.Set(); };
    Assert.IsFalse(runner.IsRunning);
    runner.Kill(); // always safe to call
    runner.Start("-wait");
    Assert.IsTrue(runner.IsRunning);
    try //make sure we can't start twice.
    {
        runner.Start();
        Assert.Fail();
    }
    catch (InvalidOperationException)
    { }
    Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), false));
    runner.Kill();
    Assert.IsFalse(runner.IsRunning);
    Assert.IsTrue(gotExit.WaitOne(30000, false));
} | 
 
| VB.NET |  Copy Code | 
|---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"))
Using runner As New AssemblyRunner(Exe)
    Dim gotExit As New ManualResetEvent(False)
    runner.ProcessExited += Function(o As [Object], e As ProcessExitedEventArgs) Do
        gotExit.[Set]()
    End Function
    Assert.IsFalse(runner.IsRunning)
    runner.Kill()
    ' always safe to call
    runner.Start("-wait")
    Assert.IsTrue(runner.IsRunning)
    Try
        'make sure we can't start twice.
        runner.Start()
        Assert.Fail()
    Catch generatedExceptionName As InvalidOperationException
    End Try
    Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), False))
    runner.Kill()
    Assert.IsFalse(runner.IsRunning)
    Assert.IsTrue(gotExit.WaitOne(30000, False))
End Using | 
 
 
            
            
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
 
            
            
See Also