So really what you want is a program that will kill and then restart your Firefox when your autoplay script for Mafia Wars causes it to use too much memory?
If that's what i wanted i would of just written that and never posted here..
More when "any" non critical apps enter a state they could become unresponsive generally due to run away threads causing the system to be totally unresponsive and headed toward complete deadlock.
Lately most problematic is msn when my webcam is on or being turned on, this is the worst offender lately on my xp box and yes it is generally worse and happens more often when something like firefox is eating up memory, but at this point there is nothing going to help the situation but killing msn or sending a msg to the other user via my phone or another computer to turn the cam off on there end and hope my end responds and chills out. But at that point restarting firefox wouldn't do much good because msn is in a bad state already so there's little point attempting to do anything but kill msn.. So yes i want to watch for a situation and kill a particular app but that's not a hard task to do, instead I am asking specifically for idea's in general and particularly for methods that could help filter out "needed" processes so they're skipped for example possibly looking at the user that is executing the process and only return "user" executed apps (this may could likely skip most important system tasts).. but that still leaves installers potentially and a few other things that may be important at times and was curious if there is a way to detect that via registery keys or other means beyond monitoring app names like setup.exe/msiexec.exe/install.exe/update.exe..
The code relating to checking the processes/enumerating and what not I already have done in older projects, am more looking for logic idea's and information on detecting things mentioned above, or possibly other idea's anyone has..
Ideally currently in my mind i would pool cpu use when seen at 99% enum processes check each to see if the app is hung then store it into a list of "bad apps" then let the user define actions to take and a time frame, acting being killing or possibly choose to restart the app/service also.
*Update:
One method could be to store all processes seen over time in a list display the list and try to flag the process as such:
1) System/Required - Kill Risk: High, system may be worse off.
2) General Service - Kill Risk: Medium, prolly won't affect system stability, but pay attention.
3) General Apps - Kill Risk: Low, shouldn't affect the system at all.
But then we still run into needing to define the processes properly, or just tell the user what to avoid clearly (system processes, and setup/installers) tho I suppose that could be handled by sorting the list into different types:
1) Services
2) Applications
and further more sorting those two separate lists by the user the process is running as:
1) User
2) System
3) Local Service
4) Network Service
And just write up good documentation telling the user what is safe/not in general possibly? I dunno am doin 20 other things atm am rambling a bit as a distraction lol
*Update #2
With the idea of storing all processes and sorting them in various ways to display to the user, we could also allow the user to define an exclusion list so they can hide processes from showing up in the lists long term.
Am leaning in that direction currently as it's the least amount of work providing the most flexibility and information gathering potential of the different processes that I can think of currently.