我试图编写一个脚本,列出所有活动进程及其使用的线程数,然后将它们从大多数线程排序到最少。
我目前所拥有的内容被黑客攻击,并且不会对活动线程进行排序:
get-process | %{$_.Name;$_.Threads | %{$_.ID }| measure-object -line}
任何人都知道更好的方法吗?
答案 0 :(得分:2)
嗯,你并没有告诉它要对任何东西进行排序。这就是Sort-Object cmdlet的用途。然而,我在这里采取了不同的方法:
例如:
Get-Process |
Select-Object Name, ID, @{Name='ThreadCount';Expression ={$_.Threads.Count}} |
Sort-Object -Property ThreadCount -Descending
Name Id ThreadCount
---- -- -----------
System 4 251
sqlservr 7816 103
iexplore 412 87
Memory Compression 3176 74
SkypeHost 11952 58
explorer 6568 51