# Function Reference

# ProcessList

Returns an array listing the currently running processes (names and PIDs).

ProcessList ( ["name"] )

## Parameters

name | [optional] If a name is given only processes of the same name will be returned.

## Return Value

Success: | an array of process names and PIDs (See Remarks).
Failure: | sets the @error flag to 1 when the array cannot be built.

## Remarks

The array returned is two-dimensional and is made up as follows:
$aArray[0][0] = Number of processes
$aArray[1][0] = 1st Process name
$aArray[1][1] = 1st Process ID (PID)
$aArray[2][0] = 2nd Process name
$aArray[2][1] = 2nd Process ID (PID)
...
$aArray[n][0] = nth Process name
$aArray[n][1] = nth Process ID (PID)
The list can be empty if $aArray[0][0] = 0. No @error set in this case.

## Related

ProcessClose, ProcessExists, ProcessGetStats, ProcessSetPriority, ProcessWait, ProcessWaitClose, WinGetProcess

## Example

    #include <MsgBoxConstants.au3>

    Example()

    Func Example()
        ; Run Notepad
        Run("notepad.exe")

        ; Wait 10 seconds for the Notepad window to appear.
        Local $hWnd = WinWaitActive("[CLASS:Notepad]", "")

        ; Display a list of Notepad processes returned by ProcessList.
        Local $aProcessList = ProcessList("notepad.exe")
        For $i = 1 To $aProcessList[0][0]
            MsgBox($MB_SYSTEMMODAL, "", $aProcessList[$i][0] & @CRLF & "PID: " & $aProcessList[$i][1])
        Next

        ; Close the Notepad window using the handle returned by WinWaitActive.
        WinClose($hWnd)
    EndFunc   ;==>Example