มีคำสั่งเทียบเท่า 'ps' ใน Unix ที่สามารถแสดงรายการกระบวนการทั้งหมดบนเครื่อง Windows ได้หรือไม่?
มีคำสั่งเทียบเท่า 'ps' ใน Unix ที่สามารถแสดงรายการกระบวนการทั้งหมดบนเครื่อง Windows ได้หรือไม่?
คำตอบ:
ทำงานกับ cmd.exe:
หากคุณมีPowershell :
ผ่าน WMI:
กระบวนการ wmic
(คุณสามารถค้นหาเครื่องระยะไกลได้เช่นกัน/node:ComputerOrIP
และยังมีอีกหลายวิธีในการปรับแต่งคำสั่งนี้: ลิงก์ )
มีเครื่องมือที่เรียกว่าเป็นWindows Management Instrumentation เครื่องมือบรรทัดคำสั่ง (wmic.exe)
คุณสามารถโทรwmic process list
เพื่อดูกระบวนการทั้งหมด
ผมอยากจะพูดถึงว่า WMIC (รายการของแพม) สามารถทำมากได้มากขึ้น ดูหน้าตัวอย่างเกร็ดเล็กเกร็ดน้อย WMIC ของฉันซึ่งเป็น cheatsheet ที่แสดงวิธีการทั่วไปมากมายในการใช้ WMIC (โดยแสดงผลลัพธ์ตัวอย่าง) ที่นี่
รายการงาน
WMIC /OUTPUT:C:\ProcessList.txt กระบวนการรับคำอธิบายภาพ Commandline 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)
tasklist หรือpslistจาก sysinternals นอกจากนี้ยังได้รับการประมวลผลเป็นที่น่าตื่นตาตื่นใจจากPowerShell
หากคุณใช้Powershellจะมีคำสั่ง 'ps' (เป็น aliased กับ Get-Process)
หากคุณใช้งาน Windows XP ให้ลองใช้คำสั่ง 'tasklist' ฉันลองใช้กับ Vista และดูเหมือนว่าจะใช้งานได้
ใช้คำสั่งนี้เพื่อดูกระบวนการทั้งหมดในเครื่อง windows
tasklist / svc
tasklist|findstr "firefox.exe"
ใช่คุณสามารถ: ถ้าสิ่งนี้คืนค่าerrorlevel
1 กระบวนการที่พบในรายการของกระบวนการ
findstr
ไม่จำเป็นต้องใส่เครื่องหมายอัญประกาศล้อมรอบนอกเสียจากว่ามันจะมีช่องว่างหรืออักขระพิเศษเช่น & ถึงแม้ว่าfind
และทั้งคู่จะคืนค่า 1 สำหรับไม่พบ (0 สำหรับการค้นหา)
เพื่อฆ่ากระบวนการใช้:
TASKKILL /F /IM processname.exe
ตัวอย่างเช่น:
TASKKILL /F /IM firefox.exe
ฉันมีปัญหาต่อไปนี้ใน Windows 2003 SP2: Tasklist ไม่ส่งคืนผลลัพธ์ใด ๆ ใน stdout หรือ stderr เมื่อเรียกจากกระบวนการที่เริ่มต้นเป็นบริการ Windows (แม้ภายใต้บัญชี Local) รายการงานกลับมาพร้อมกับรหัส (ไม่มีเอกสาร) 128
เรียกว่าจากโปรแกรมเดียวกันเริ่มต้นเป็นกระบวนการปกติ (ไม่ใช่เป็นการให้บริการ) มันเรียกใช้
ไม่มีความช่วยเหลือในการเปลี่ยนแปลง ฉันหาเหตุผลหรือวิธีแก้ปัญหาไม่ได้ แต่ใช้ "pslist / accepteula" ของ sysinternal แทน
ปัญหาเดียวกันกับ taskkill: ฉันต้องแทนที่มันด้วย pskill
ฉันทำ msproject (ซอร์สโค้ด c) แล้วไฟล์เก็บถาวรมีอยู่ที่: lsproc.zip โครงการเก็บถาวร
และไฟล์ exe: ไบนารี lsproc.exe
นี่เป็นเอาต์พุตเครื่องมือบรรทัดคำสั่ง:
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
--------------
เปิดหน้าต่างพรอมต์คำสั่ง
C:\>tasklist // list all the tasks
C:\>Taskkill /IM firefox.exe /F // Kill task by name
หรือ
C:\>Taskkill /PID 26356 /F // kill task by PId
สวัสดีถ้าคุณต้องการแสดงรายการ ID กระบวนการทำงานบนเครื่อง Windows ให้เปิดcmd
หน้าจอและประเภท:
netstat -aon | more
ใช้Enterปุ่มเพื่อเลื่อน