Bitcoin Forum
May 14, 2024, 09:40:17 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Script centinela para vigilar tus mineros en Windows  (Read 938 times)
dazz (OP)
Full Member
***
Offline Offline

Activity: 195
Merit: 100



View Profile
February 08, 2014, 08:05:10 AM
Last edit: February 08, 2014, 08:57:41 AM by dazz
 #1

Buenas gente.

LLevo semanas peleándome con el cgminer que no para de dar por donde la espalda pierde su casto nombre.
A veces un par de días, otras veces un par de horas pero siempre acaba por pararse alguna instancia con el maldito "cgminer has stopped working" o algo así.

Me he dado por vencido al final y he optado por crear un sencillo script en powershell para velar por mis mineros. La idea es comprobar cada 60 segundos si los hilos de cgminer están todos vivos y corriendo. Si no es así, el ordenador se reinicia sólo. Obviamente hay que arrancar el/los cgminer(s) desde el menú Inicio para que tras reiniciar se pongan a funcionar de nuevo automáticamente.

Se podría hacer también para Linux, pero yo ahora mismo estoy minando sobre W7 así que he usado powershell

Code:
Set-ExecutionPolicy RemoteSigned

$numThreads =  @(Get-Process -Name cgminer*).length
echo "numThreads = $numThreads"

while($true) {
$cpu1 = @(Get-Process -Name cgminer* | ForEach-Object {$_.cpu})

if ( $numThreads -ne $cpu1.length ) {
echo "Some thread died, restarting........."
taskkill /im "cgminer.exe" /f
shutdown /r
}

echo "c u in a minute..."
sleep 60
echo ""

$cpu2 = @(Get-Process -Name cgminer* | ForEach-Object {$_.cpu})

if ( $numThreads -ne $cpu2.length ) {
echo "Some thread died, restarting........"
taskkill /im "cgminer.exe" /f
shutdown /r
}

for ($i=0; $i -lt $cpu1.length; $i++) {
$outS = "Checking thread #" + $i + " activity. Before: " + $cpu1[$i] + " --- After: " + $cpu2[$i]

if ( $cpu1[$i] -eq $cpu2[$i]) {
echo $outS
echo $("Thread #" + $i + " not running, restarting.............")
taskkill /im "cgminer.exe" /f
shutdown /r

} else {
$outS + "... RUNNING OK" | echo
}
}
}

La idea es guardar ese código en un archivo con extensión ps1, algo como centinela.ps1 por ejemplo.

Luego arrancar los mineros desde un batch, pero cada uno en su propio hilo usando start y desde el mismo batch, una vez arrancados los mineros, arrancar el centinela también en su propio hilo.
Un par de sleeps aquí y allá para dar tiempo al ordenador a reinciar y a los cgminers a arrancar y listos.

Code:
sleep 30
del *.bin
start "HD7970" cmd /c "cgminer-startup-7970.bat"
sleep 15
start "HD7950" cmd /c "cgminer-startup-7950.bat"
sleep 15
start "Sentinel" cmd /c "powershell .\Sentinel.ps1"
1715679617
Hero Member
*
Offline Offline

Posts: 1715679617

View Profile Personal Message (Offline)

Ignore
1715679617
Reply with quote  #2

1715679617
Report to moderator
Whoever mines the block which ends up containing your transaction will get its fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715679617
Hero Member
*
Offline Offline

Posts: 1715679617

View Profile Personal Message (Offline)

Ignore
1715679617
Reply with quote  #2

1715679617
Report to moderator
Antuam
Legendary
*
Offline Offline

Activity: 1722
Merit: 1005



View Profile
February 10, 2014, 03:40:06 PM
 #2

Muy bueno el Script. Me lo guardo por si en un futuro vuelvo a minar.
Gracias pro compartir estas cosas con el resto de gente.
Gracias.
Antuam

PussyLover
Newbie
*
Offline Offline

Activity: 43
Merit: 0


View Profile
February 11, 2014, 09:49:33 AM
 #3

Genial, buscaba algo así.

 Grin
vgo
Legendary
*
Offline Offline

Activity: 2072
Merit: 1019



View Profile
February 11, 2014, 09:59:55 AM
 #4

Muy bueno, gracias. Nos vamos a minería.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!