Відповіді:
Робота з cmd.exe:
Якщо у вас є Powershell :
Через WMI:
wmic процес
(Ви також можете запитувати віддалені машини /node:ComputerOrIP
, і Є багато способів налаштувати цю команду: посилання )
Існує інструмент під назвою Інструмент управління командним рядком Windows Management Instrumentation (wmic.exe) .
Ви можете зателефонувати, wmic process list
щоб переглянути всі процеси.
Список завдань
WMIC /OUTPUT:C:\ProcessList.txt PROCESS отримати заголовки, командні лінії, Processid
або
WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline
Я спробував у Windows 7. Команда така: TASKLIST /FI "IMAGENAME eq application_name"
Наприклад: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"
Щоб показати весь процес із деталями порту:
c:\> TASKLIST
Також вбивати процес, який ви можете використовувати c:\> pskill or tskill processname
Наприклад: c:\> tskill notepad
TASKLIST /FI "IMAGENAME eq explorer.exe"
повертає один цілий рядок як вихід. Чи є в будь-якому випадку отримати лише сам PID?
taskkill
є синонімом доtskill
tskill
тільки taskkill
, і pskill
надається SysInternals, але не Windows. (@KiritoBepsibane)
список завдань або pslist від sysinternals. Також PowerShell дивовижний .
Якщо ви використовуєте Powershell , у нього є команда 'ps' (вона є псевдонімом для Get-Process)
Використовуйте цю команду, щоб побачити всі процеси в машині Windows
список завдань / svc
tasklist|findstr "firefox.exe"
. Якщо це повертає errorlevel
значення 1, процес був знайдений у списку процесів.
findstr
не потрібні лапки навколо голки, якщо вони не містять пробілу або спеціального символу, як & хоча find
так, і обидва вони повертають 1 для НЕ знайдено (0 для знайдено).
Для вбивства процесу використовуйте:
TASKKILL /F /IM processname.exe
Наприклад:
TASKKILL /F /IM firefox.exe
У мене була проблема в Windows 2003 SP2: список завдань не повертав жодного виводу в stdout або stderr, коли його викликали з процесу, запущеного як служба Windows (навіть під локальним обліковим записом). Список завдань повернувся з (недокументованим) кодом 128.
Викликаний з тієї ж програми, що розпочався як звичайний процес (а не як сервіс), він запустився.
Не допоможе це змінити. Я не міг знайти жодної причини чи рішення, але замість цього використовую "pslist / acceptteula" системи sysinternal.
Та ж проблема із завданням завдання: мені довелося замінити її на pskill.
Я зробив msproject (c вихідний код), архів доступний за адресою: lsproc.zip archive archive
і EXE-файл: lsproc.exe binary
це вихід інструменту командного рядка:
lsproc
Thierry Bremard
t.bremard@gmail.com
list binary files and driver with their local path on disks
most of code retreived from msdn site
--------------------
Process ID: 0
--------------------
Process ID: 4
<unknown> (PID: 4)
<unknown>
PageFaultCount : 0x00002E4B
PeakWorkingSetSize : 0x00419000
WorkingSetSize (Mem usage) : 0x0003A000 (232 ko)
QuotaPeakPagedPoolUsage : 0x00000000
QuotaPagedPoolUsage : 0x00000000
QuotaPeakNonPagedPoolUsage : 0x00000000
QuotaNonPagedPoolUsage : 0x00000000
PagefileUsage : 0x00000000
PeakPagefileUsage : 0x00000000
--------------------
Process ID: 764
smss.exe (PID: 764)
\SystemRoot\System32\smss.exe
PageFaultCount : 0x000000D6
PeakWorkingSetSize : 0x00082000
WorkingSetSize (Mem usage) : 0x0006C000 (432 ko)
QuotaPeakPagedPoolUsage : 0x00006C34
QuotaPagedPoolUsage : 0x00001854
QuotaPeakNonPagedPoolUsage : 0x000004D8
QuotaNonPagedPoolUsage : 0x00000280
PagefileUsage : 0x0002C000
PeakPagefileUsage : 0x00030000
--------------------
Process ID: 816
--------------------
Process ID: 844
winlogon.exe (PID: 844)
\??\C:\WINDOWS\system32\winlogon.exe
PageFaultCount : 0x0000261D
PeakWorkingSetSize : 0x00B58000
WorkingSetSize (Mem usage) : 0x0029B000 (2668 ko)
QuotaPeakPagedPoolUsage : 0x0001B054
QuotaPagedPoolUsage : 0x000185A4
QuotaPeakNonPagedPoolUsage : 0x0000C988
QuotaNonPagedPoolUsage : 0x0000B6A0
PagefileUsage : 0x005EC000
PeakPagefileUsage : 0x006C6000
--------------------
...
PeakPagefileUsage : 0x03277000
--------------------
Process ID: 2712
lsproc.exe (PID: 2712)
C:\Documents and Settings\LoginX\Bureau\lsproc.exe
PageFaultCount : 0x000000EC
PeakWorkingSetSize : 0x000F1000
WorkingSetSize (Mem usage) : 0x000E4000 (912 ko)
QuotaPeakPagedPoolUsage : 0x000032B4
QuotaPagedPoolUsage : 0x000032B4
QuotaPeakNonPagedPoolUsage : 0x00000400
QuotaNonPagedPoolUsage : 0x00000398
PagefileUsage : 0x00042000
PeakPagefileUsage : 0x0005C000
There are 131 drivers:
--------------------
1: ntkrnlpa.exe
\WINDOWS\system32\ntkrnlpa.exe
--------------------
2: hal.dll
\WINDOWS\system32\hal.dll
--------------------
3: KDCOM.DLL
\WINDOWS\system32\KDCOM.DLL
--------------------
4: BOOTVID.dll
\WINDOWS\system32\BOOTVID.dll
...
--------------------
129: HTTP.sys
\SystemRoot\System32\Drivers\HTTP.sys
--------------------
130: hiber_WMILIB.SYS
\SystemRoot\System32\Drivers\hiber_WMILIB.SYS
--------------------
131: ntdll.dll
\WINDOWS\system32\ntdll.dll
--------------
Привіт, якщо ви хочете перелічити ідентифікатори запущених процесів на машині Windows, тоді відкрийте cmd
екран та введіть:
netstat -aon | more
використовувати Enterклавішу для прокрутки.