Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: SleepMachine on May 15, 2011, 07:05:58 PM



Title: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: SleepMachine on May 15, 2011, 07:05:58 PM
Hello

I've created a C# program that can start any application after X amount of inactivity and end the application when the computer becomes active. With this you can automatically start mining when a computer is idle and stop mining when someone wants to use the computer. The started application (miner) can also be made invisible (it doesn't create a window in the taskbar or systray), if wanted.

I use this for running miners on computers belonging to my relatives without their computers becoming sluggish when they want to use them for something computationally intensive.

Uploaded by request. I hope this will be useful.

Current Version
---------------
0.12 (Updated 2011-06-11)

DOWNLOAD LINK (includes source files)
--------------------
http://dl.dropbox.com/u/184100/WhileIdle.zip

Description
-----------
Launch any program after the computer has been idle for a specified amount of time.
The program is terminated when the computer stops being idle.


Usage
-----

Edit the WhileIdle.conf file to configure the parameters for the program.

WhileIdle.conf structure
Line 1: Full path to your executable file
Line 2: Optional command-line arguments for your executable
Line 3: Number of seconds the computer must have been idle before the executable launches
Line 4: Make launched executable invisible? Takes a 0 or 1 as value

Example WhileIdle.conf file:
----------------------------------------------------------------------
C:\BitcoinMiners\ufasoft\bitcoin-miner.exe
-o http://mining.bitcoin.cz:8332 -u YOURUSERNAME -p YOURPASSWORD -g no -v -a 60
300
1
----------------------------------------------------------------------


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: don on May 15, 2011, 08:15:18 PM
Thank you!

I had some trouble getting it running with my miner at first but now it seems to work. If you got problems try installing the WhileIdle files in the same directory as the program you're trying to run with it.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: SleepMachine on May 15, 2011, 09:25:06 PM
Glad to be of assistance   :D


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: qberty on May 16, 2011, 01:03:05 AM
I like the idea. Hopefully the members of this board won't bash this like they do any other closed software lol.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: Kluge on May 16, 2011, 01:11:50 AM
I like the idea. Hopefully the members of this board won't bash this like they do any other closed software lol.
Source code is in .zip


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: PiGames on May 16, 2011, 01:16:38 AM
Pretty neat idea.
I might give this a try on the weekends when I use my main mining rig for games and such. Sometimes I forget to turn my miner back on when I'm done =\


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: qberty on May 16, 2011, 01:22:36 AM
I like the idea. Hopefully the members of this board won't bash this like they do any other closed software lol.
Source code is in .zip

That's not my point. This does give a nice touch to mining. You might want to use like.. events. So we can control it through a GUI perhaps.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: metastable on May 20, 2011, 07:39:58 PM
I'm trying to streamline the process of copying over files to a computer and running it using a batch file, but for what ever reason WhileIdle.exe will not run unless done directly. Anyone know whats the cause?

Code:
@echo off
xcopy /s %~dp0bitcoinidle %appdata%\bitcoinidle
call %appdata%\bitcoinidle\whileidle.exe

All of the necessary files are within the bitcoinidle folder.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: darbsllim on May 26, 2011, 07:55:11 AM
awesome, subscribed to follow progress.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: Slasklitta on May 26, 2011, 08:39:29 PM
I registered only to tell you HOW AWESOME YOU ARE :D

I've been searching all day for stealth/hidden/invisible batch stuff. None worked... Lots of scripts and shit, but didnt work.

Yours is so easy and works PERFECT!

CREDITS TO YOU MAN!!!


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: no_alone on May 26, 2011, 11:21:21 PM
I made something the same...
With a GUI

http://forum.bitcoin.org/index.php?topic=9851.0


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: cande on May 28, 2011, 10:27:42 AM
Hi,

this is awesome! However, i want to run your whileidle as a service, and then it won't notice user actions. Have tried both running as current user or as SYSTEM with desktop interactions, does not help. And it doesn't matter what idletime i'm using either.

Do you have a resolution for that? perhaps if any user is using the system it takes down the miner?


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: SleepMachine on June 01, 2011, 03:17:30 PM
Oh, lots of replies here :)

Quote
I'm trying to streamline the process of copying over files to a computer and running it using a batch file, but for what ever reason WhileIdle.exe will not run unless done directly. Anyone know whats the cause?

I noticed a bug while installing this at a friends house that might cause this.
I think I forgot to set the programs "current directory"/"start from directory" to the directory of the application, or something like that, so if the program is launched from another directory, things might get wonky. At least I think that's the issue.


Quote

I registered only to tell you HOW AWESOME YOU ARE

I've been searching all day for stealth/hidden/invisible batch stuff. None worked... Lots of scripts and shit, but didnt work.

Yours is so easy and works PERFECT!

CREDITS TO YOU MAN!!!
THANKS ALOT  ;D
I did the same as you until I finally thought... "What the fuck am I doing spending so much time on this? How hard can it be to program? I AM a programmer after all..."
I ended up spending more time googling a solution that suited me than I did programming this. Nuff said.


Quote
this is awesome! However, i want to run your whileidle as a service
As far as i know, normal applications cannot be run as services just like that. You will need to code it as a service, which is slightly different. I currently have no plans myself to do this, but someone else might be able to do that for you.



Finally i just wanted to say that i just coded this to suit my own needs, and posted it here in case someone else had the same needs. I currently have no plans to further develop this. (except perhaps fix that directory-bug for my friend). But hey, you never know. I might get bored one week-end and do some more additions.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: mattpker on June 01, 2011, 04:30:13 PM
Thank you! This worked like a charm.


Title: Re: [Announce] WhileIdle application - 3 BOUNTIES FOR 3 PROBLEMS
Post by: iCEBREAKER on June 06, 2011, 11:48:01 PM
Bounty 1

1 BTC for anyone who can tell me how to get rid of the WhileIdle window that appears when alt-tabbing between tasks.  OS is w7x64 pro.



Bounty 2

1 BTC for anyone who can help me get to Task Scheduler (or a system/registery hook) to launch WhileIdle on startup, without having an active directory user logged in.  I've tried all the obvious 'make-new-task' crap but it won't go.  Sucks because I'm supposed to be a guru, beyond such baby stuff.   >:(  Maybe I should just run it as a service?



Bounty 3

1 BTC for anyone that can help me get WhileIdle to run guiminer.  I've already tried putting the whileidle files in the guiminer\miners directory, and lots of other stuff.







Title: Re: [Announce] WhileIdle application - 3 BOUNTIES FOR 3 PROBLEMS
Post by: no_alone on June 07, 2011, 02:07:32 AM
Quote
Bounty 1

1 BTC for anyone who can tell me how to get rid of the WhileIdle window that appears when alt-tabbing between tasks.  OS is w7x64 pro.

You can not see my program when alt+tab

http://forum.bitcoin.org/index.php?topic=9851

Quote
Bounty 2

1 BTC for anyone who can help me get to Task Scheduler (or a system/registery hook) to launch WhileIdle on startup, without having an active directory user logged in.  I've tried all the obvious 'make-new-task' crap but it won't go.  Sucks because I'm supposed to be a guru, beyond such baby stuff.   >:(  Maybe I should just run it as a service?


My program already do it

http://forum.bitcoin.org/index.php?topic=9851

Quote
Bounty 3

1 BTC for anyone that can help me get WhileIdle to run guiminer.  I've already tried putting the whileidle files in the guiminer\miners directory, and lots of other stuff.



My program can run guiminer easily
http://forum.bitcoin.org/index.php?topic=9851

Please 3 BTC to  1GjpJnLU8zdfEHW7FoCx2UUosJgc9prXN4


[


Title: Re: [Announce] WhileIdle application - 3 BOUNTIES FOR 3 PROBLEMS
Post by: SleepMachine on June 11, 2011, 06:01:15 AM
Bounty 1

1 BTC for anyone who can tell me how to get rid of the WhileIdle window that appears when alt-tabbing between tasks.  OS is w7x64 pro.



Bounty 2

1 BTC for anyone who can help me get to Task Scheduler (or a system/registery hook) to launch WhileIdle on startup, without having an active directory user logged in.  I've tried all the obvious 'make-new-task' crap but it won't go.  Sucks because I'm supposed to be a guru, beyond such baby stuff.   >:(  Maybe I should just run it as a service?



Bounty 3

1 BTC for anyone that can help me get WhileIdle to run guiminer.  I've already tried putting the whileidle files in the guiminer\miners directory, and lots of other stuff.




I decided to make an update after all. (Bountys changes everything!)
The link in the first post of this thread has been updated to the new version.

The new version fixes Bounty 1.

Regarding Bounty 2, i could release a version that works as a service, but I'll need a little time to code this.
Edit: no_alones program does not run as a service, according to a poster in his thread.

Bounty 3: There shouldn't be any problems launching guiminer with WhileIdle. I've tried it myself. However, i wouldn't recommend it because guiminer in turn launches miners and when WhileIdle terminates guiminer, the miners started by guiminer will not terminate. This is also true with no_alones program, regardless of what he says. If you read the thread about his program, you can see it has the same issues.

This version should also fix the issue that metastable had.  ;D


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: SchizophrenicX on June 11, 2011, 06:04:39 AM
try kill process tree? I don't know how to code it though but I think if I'm right it'd kill the poclbm along with it (or other miners)


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: SleepMachine on June 11, 2011, 06:33:37 AM
try kill process tree? I don't know how to code it though but I think if I'm right it'd kill the poclbm along with it (or other miners)

Thanks, i didn't really think of that! I was trying to gracefully end the process instead of killing it, but this does the trick also.
I just implemented this and released a new version 0.12
This fixes bounty 3!


Title: Re: [Announce] WhileIdle application - 3 BOUNTIES FOR 3 PROBLEMS
Post by: SleepMachine on June 11, 2011, 06:52:48 AM

Bounty 3

1 BTC for anyone that can help me get WhileIdle to run guiminer.  I've already tried putting the whileidle files in the guiminer\miners directory, and lots of other stuff.


To use guiminer, unzip the new version 0.12 into folder C:\BitcoinMiners and just run WhileIdle.exe .The included conf-file is set to use that directory and the now included guiminer.


Title: Re: [Announce] WhileIdle application - Run miners only when computer is idle
Post by: SchizophrenicX on June 11, 2011, 07:40:13 AM
Well I think whatever does the trick. Elegance is for stuff that can wait. Difficulty doesn't lolx. I thought it might do the trick :) Although I'm not big a programmer. Hasn't really tried any of these whileidle yet though. still trying to migrate SSH Ubuntu and stuff from LinuxCoin which keeps loggin out for no apparent reason -.-


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: the_joey_o on June 20, 2011, 03:09:09 PM
What do the flags "-g no" "-v" "-a 60" mean? Is there a list somewhere for all the possible flags that I can/should input?


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: the_joey_o on June 21, 2011, 08:44:39 PM
-bump- anyone?  ???


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: micucci1127 on June 24, 2011, 06:56:09 AM
Hi,

I am really a fan of this program i have it running on the family machines and it does the job.

On some machines (note some, not all) I have an issue where once the user moves the mouse, a random open application will crash. This is most easily replicated with microsoft outlook, but sometimes its explorer.exe or firefox.exe. The issue also does not seem specific to any one flavor of windows, I have an XP machine doing it with outlook 2007 and a windows 7 x64 machine doing it with Outlook 2010.

I'm wondering if WhileIdle is inadvertently targeting and killing other processes that it shouldn't?

Anyone else using this experiencing this weird behavior?

Thanks,

Jim


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: micucci1127 on June 24, 2011, 07:09:32 AM
What do the flags "-g no" "-v" "-a 60" mean? Is there a list somewhere for all the possible flags that I can/should input?

I think that is just an example he used. The flags line (line2) is there to manipulate the command line executable of the program you specify in line one. I don't think it does anything to change the behavior of WhileIdle.

Depending on what Video card you are using check this chart to see what other people are doing to get your optimum speed. (Older Radeons don't like vectors, "-v", newer cards can handle larger worksize, etc.)

Mining Hardware Chart:
https://en.bitcoin.it/wiki/Mining_hardware_comparison

Poclbm Flags
http://forum.bitcoin.org/?topic=4122.0;wap2

RPC-Miner Flags
http://forum.bitcoin.org/?topic=2444.0

Hope this helps
jim


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: Ali on June 24, 2011, 10:30:08 AM
I'm using WhileIdle on two machines.

You should consider changing three changes:

  • WhileIdle is visible if you switch between programs with ALT+TAB, it should be hidden
  • There should be an option to hide WhileIdle from the task list (this is possible, I've done this years ago)
  • Alternatively make WhileIdle installable as a service, I used "Servify This" but it didn't work for some reasons


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: micucci1127 on June 25, 2011, 01:01:58 AM
I'm using WhileIdle on two machines.

You should consider changing three changes:

  • WhileIdle is visible if you switch between programs with ALT+TAB, it should be hidden
  • There should be an option to hide WhileIdle from the task list (this is possible, I've done this years ago)
  • Alternatively make WhileIdle installable as a service, I used "Servify This" but it didn't work for some reasons

I also attempted to have WhileIdle run as a serivice to see if I could have it kick in if no users were logged in. (E.g. Windows updates @ 3am auto restarting the machine)
I was able to have it run as a serivice and activate poclbm, but it kicked in instantly (didnt want the 10 mins) and it was using the CPU as the openCL Device instead of the ATI card. It also did not seem responsive to mouse movements, it kept running instead of killing the process.

My dream would be a hidden, run as a service, remote reporting & managable bitcoin client that also had extra goodies built in like automatic memory clock frequency changing, thermal limits, fan speed controls, time of day settings, etc.


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: hamdi on June 27, 2011, 12:09:21 AM
why is this thing 10 mb big?


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: xane on June 27, 2011, 12:33:04 AM
I also attempted to have WhileIdle run as a serivice to see if I could have it kick in if no users were logged in. (E.g. Windows updates @ 3am auto restarting the machine)
I was able to have it run as a serivice and activate poclbm, but it kicked in instantly (didnt want the 10 mins) and it was using the CPU as the openCL Device instead of the ATI card. It also did not seem responsive to mouse movements, it kept running instead of killing the process.

My dream would be a hidden, run as a service, remote reporting & managable bitcoin client that also had extra goodies built in like automatic memory clock frequency changing, thermal limits, fan speed controls, time of day settings, etc.

Running as a service is one thing, but a miner won't be able to work on Windows unless someone is physically logged in. Windows does not allocate the video card drivers until someone does. This is why miners only see the CPU available. The same is true if you RDP into a machine and try to mine as well.


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: iCEBREAKER on June 28, 2011, 01:37:05 AM
Running as a service is one thing, but a miner won't be able to work on Windows unless someone is physically logged in. Windows does not allocate the video card drivers until someone does. This is why miners only see the CPU available. The same is true if you RDP into a machine and try to mine as well.

Yes, that is very annoying.

How would one fake a physical user login, and trick the Windows into initializing OpenCL?


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: Nirth on June 28, 2011, 02:46:17 AM
I'm very new to this and I was wondering if anyone could help me. The 2nd line doesn't seem to work as the this app will start guiminer for me but not activate mining.


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: krepta3000 on June 29, 2011, 10:19:39 PM
I don't understand why this is not working right.  Sure, it runs guiminer, but guiminer just sits there doing nothing.  Normally the task manager tells me the CPU is at 100% when a miner is running.  But the CPU just idles after guiminer starts.  Nothing happens.  How do I set guiminer to automatically start a miner?


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: Nirth on June 30, 2011, 12:23:43 AM
I don't understand why this is not working right.  Sure, it runs guiminer, but guiminer just sits there doing nothing.  Normally the task manager tells me the CPU is at 100% when a miner is running.  But the CPU just idles after guiminer starts.  Nothing happens.  How do I set guiminer to automatically start a miner?

I have the exact same issue although I'm trying to run the GPU instead.


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: krepta3000 on June 30, 2011, 06:23:41 PM
I don't understand why this is not working right.  Sure, it runs guiminer, but guiminer just sits there doing nothing.  Normally the task manager tells me the CPU is at 100% when a miner is running.  But the CPU just idles after guiminer starts.  Nothing happens.  How do I set guiminer to automatically start a miner?

I have the exact same issue although I'm trying to run the GPU instead.

Yah, I can't use my GPU, because even though I finally managed to get OpenCL installed, none of the OpenCL miners actually say I have an OpenCL capable GPU, so they just use the CPU anyway, might as well not have OpenCL. :(

I just figured out how to make guiminer automatically start a miner, I had forgotten about something I saw back when I first started using guiminer.  Run guiminer manually, then click on View menu, and Show Summary, which shows you all your miners in one window... along with Auto Start checkboxes for them.  Click which ever ones you want to auto start as soon as guiminer starts, and there you go.  And now I'm wondering why whileidle always shuts itself off when the system stops being idle, I thought it would only shut off the guiminer, which it does brilliantly by the way.  So since whileidle shuts off every time, I can't count on it to always be running, so, I'm going to try using the built in Scheduled Tasks system for windows.  I've used it before, it always works great.  I've set it up just now to run guiminer Only when Idle, and to shut off guiminer when the computer is no longer idle.  Plus, it has a great feature of never running this CPU intensive process on battery power. :)

Ok, System Scheduler is great at shutting down guiminer when the system isn't idle anymore, but does not shut down the miners that guiminer is running, so, I changed it to run whileidle.exe instead, and that is working out great.  One problem with whileidle I forgot to mention, in the settings file for it, when I switch it to not hide the program it's running, well, it still hides it.  The guiminer icon appears in the system taskbar, but no window pops up so I can see the khash/s. :(


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: Stefanie Andrea on August 16, 2011, 01:36:10 AM
I just want to contact a member called "SleepMachine". he has a thread about an app he created called "whileidle" which I need to ask a question about.

Basically, when i run the app with the hidden mode enabled, when the computer comes back from idle it closes which ever program has focus. its a bug that i wanted to know if he could fix.

Post reply here: https://bitcointalk.org/index.php?topic=37352.0


Title: Re: [Announce] WhileIdle application - Stealth run miners only when computer is idle
Post by: satechheads on August 18, 2011, 10:57:19 PM
Yes you are experiencing the same issue that I was. You can get the gui miner to come up in a command prompt if you first create a bat file

start cmd /c c:\yourpath\guiminer.exe

and then call that bat file from whileidle which works great up until the time that the system becomes un-idle. that is when whenidle errors off and the process dies.