Bitsum Community Forum

General Category => Process Lasso => Topic started by: watermelon on February 04, 2010, 03:17:51 PM

Title: Suspend process - feature
Post by: watermelon on February 04, 2010, 03:17:51 PM
One idea I had while using this feature in Process Explorer (Sysinternals), why not bring it into Process Lasso?

It could be configurable on a per-process basis like default priorities. Why would you suspend a process you might ask, well it could be a game or some other program eating up all the energy (literally) and it is only useful while you actually play or work with the software. In my scenario I would leave the computer for a while and coming back find a heated up and power eating monster.

If a process is in the background and this option turned on, Process lasso could suspend it after X minutes, reactivate it on user input or when it comes back into the foreground. Here I am not sure what approach would be best and what Process Lasso already monitors. You could also combine it with the screensaver etc etc.

Title: Re: Suspend process - feature
Post by: Hotrod on February 04, 2010, 03:22:32 PM
PL already has a suspend option in the right click menu of a process under "other options". It doesn't have any other configurable options though so I'm sure your ideas will be considered as usefull input.  :)
Title: Re: Suspend process - feature
Post by: Jeremy Collake on February 04, 2010, 04:35:57 PM
That is something I'll keep in mind. Technically speaking, it is very dangerous to do what you suggest. This is because even when processes aren't doing anything, they are often still required to respond to messages or other events. They can interfere with other processes, or the whole OS, if they don't respond to some events.

Process Lasso's throttling mechanism actually suspends a process for brief spurts of time, so would be preferred instead of prolonged suspension of the process. Of course, I allow processes to be classified as 'always throttle at level X', but I don't have any sort of automated mechanism that would throttle a process only when its in the background or during idle periods. I will consider such in the future.

As HotRod mentioned, Process Lasso does support manually suspending the process in the 'Other options' context menu. I'd recommend using the Throttling over an indefinite suspension, unless you really know what you are doing. I'd not recommend either for the casual PC user ;o.


Title: Re: Suspend process - feature
Post by: Hotrod on February 05, 2010, 04:07:16 PM
I have experimented with the throttling feature with various results. Most of the processes I tried would not completely load when throttled even at the lowest setting. They would not show in the systray even though process lasso AND task manager showed they were running, OR they would not even bring their window up even though they were shown as running. In the end I had to let these processes go on their merry way unrestrained. There were actually very few processes that worked well with this feature.
Title: Re: Suspend process - feature
Post by: Jeremy Collake on February 07, 2010, 11:29:28 AM
Yes, the 'hard' CPU throttling (re: NOT ProBalance priority adjustment, so casual readers can be clear) is indeed not reliable. It only has specialized uses. Its just not natural to do that.. which is why I hesitated implementation for so long. I hope the warnings are sufficient to keep users from abusing that feature.
Title: Re: Suspend process - feature
Post by: Scott on February 10, 2010, 08:19:02 AM
I have used suspend/resume tactics on VMware Workstation processes many times.  This is because I would often leave VMs running for a long time in the background, without needing them, but the background processes would eat CPU, and even at reduced priorities, it impaired system function.  Suspend/resume worked nicely.

I always used Beyond Logic's Process.exe command line utility (http://www.beyondlogic.org/solutions/processutil/processutil.htm) for this, so it was as easy as writing a couple scripts or creating a couple shortcuts with the necessary targets (e.g. [cmd /c process -s "process name.exe"] and [cmd /c process -r "process name.exe"]).
Title: Re: Suspend process - feature
Post by: watermelon on April 15, 2010, 09:37:50 AM
Thanks for the tip heterodox. For now I am using PsSuspend (http://technet.microsoft.com/en-us/sysinternals/bb897540.aspx).

As for the feature request, to make it even better why not introduce a trigger -> action system into PL? That way we could perform any action when ProBalance is triggered for a process, via command-line.


Also please consider allowing to include system processes and services into ProBalance. I've had it a couple of times that the "System" process has gone mad and it took an hour for Process Explorer to pop up and I was able to change its priority. When things go wrong it's usually some system service doing it.
Title: Re: Suspend process - feature
Post by: Jeremy Collake on April 15, 2010, 10:47:14 PM
Both excellent ideas, I've added them to my v4 planned features ;). I'll likely implement the command line trigger first, as its easy and allows a lot more extensibility. Thanks.