ps | where {$_.responding -eq $false} | kill

What a strange title for a post?

I was browsing a few minutes ago until my browser stopped responding. Since I'm trying to apply Powershell in most situations I fired it up and ran:

ps | where {$_.responding -eq $false} | kill

which get's all running processes, filters by which one's are not responding, and hands them over to the kill object.

How did I know that the "responding" property even existed?

I picked an arbitrary process I knew was running and I ran the following:

ps notepad | fl * | more

Which run's get-process (ps is the alias for get-process), pipes it to format-list (fl) listing all properties and piping again into more.

You'll find that there's a TON of stuff you never knew existed if you start looking for extra properties and it might just be that property you needed to get the job done !