|
|
|
The System.Diagnostics.Process class exposes two methods that let you kill a process: CloseMainWindow should be used with processes that have a graphical interface, whereas the Kill method should be used for apps without a user interface (or those whose main window is disable and can't process the WM_CLOSE message).
It's quite easy to use these methods (and a few others) to create a command-line utility that kills a process whose ID or name has been passed as an argument. Here's the complete source code, you should just create a console application project and compile it to a properly named executable, such as KILLPROC: |
Click here to copy the following block | Imports System.Diagnostics
Module Module1 Sub Main(ByVal args() As String) If args.Length <> 1 Then Console.WriteLine("SYNTAX: KillProc pid | procname") End End If
Dim arg As String = args(0) Dim proc As Process
Try proc = Process.GetProcessById(CInt(arg)) Catch ex As Exception End Try
If proc Is Nothing Then Dim procs() As Process = Process.GetProcessesByName(arg) If procs.Length = 1 Then proc = procs(0) ElseIf procs.Length > 1 Then Console.WriteLine _ ("Process name is ambiguous. Unable to proceed.") End ElseIf procs.Length = 0 Then Console.WriteLine("Process not found. Unable to proceed") End End If End If
Dim res As Boolean
res = proc.CloseMainWindow()
If res = False Then proc.Kill() End If
If proc.WaitForExit(1000) Then Console.WriteLine("Process {0} has been killed", proc.ProcessName) Else Console.WriteLine("Unable to kill process {0}", proc.ProcessName) End If End Sub End Module |
|
|
|
Submitted By :
Nayan Patel
(Member Since : 5/26/2004 12:23:06 PM)
|
|
|
Job Description :
He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting. |
View all (893) submissions by this author
(Birth Date : 7/14/1981 ) |
|
|