Using PowerShell the example can be like this:
$peakPagedMem = 0
$peakVirtualMem = 0
$peakWorkingSet = 0
$myProcess = [System.Diagnostics.Process]::Start( "notepad.exe" )
do {
if( -not $myProcess.HasExited ) {
$myProcess.Refresh()
Write-Host "`n" $myProcess.ToString()
Write-Host " Physical memory usage = " $myProcess.WorkingSet64
Write-Host " Base priority = " $myProcess.BasePriority
Write-Host " Priority class = " $myProcess.PriorityClass
Write-Host " User processor time = " $myProcess.UserProcessorTime
Write-Host " Privileged processor time = " $myProcess.PrivilegedProcessorTime
Write-Host " Total Processor time = " $myProcess.TotalProcessorTime
$peakPagedMem = $myProcess.PeakPagedMemorySize64
$peakVirtualMem = $myProcess.PeakVirtualMemorySize64
$peakWorkingSet = $myProcess.PeakWorkingSet64
if( $myProcess.Responding ) { Write-Host "Status = Running" }
else { Write-Host "Status = Not Responding" }
}
} while( -not $myProcess.WaitForExit( 1000 ) )
Write-Host " Exit Code = " $myProcess.ExitCode
Write-Host " Peak physical memory usage = " $peakWorkingSet
Write-Host " Peak paged memory usage = " $peakPagedMem
Write-Host " Peak virtual memory usage = " $peakVirtualMem