Вот скрипт. В принципе его и можно пускать из rc.local
#!/usr/bin/perl
use POSIX qw(strftime);
$str=`top -bd 2 -n1 | grep miner`;
$str=~s/^\s+//;
if ($str) {
@a=split /\s+/,$str;
if ($a[8] >= 0 && $a[8] <= 8) {
system('killall -9 run.sh miner');
sleep 5;
system('/usr/bin/screen -d -m /home/pi/miner/run.sh');
print strftime("%Y.%m.%d %H:%M:%S", localtime)." Ripped (CPU $a[8])\n";
}
} else {
# No process running?!
print strftime("%Y.%m.%d %H:%M:%S", localtime)." Not found - restart\n";
system('/usr/bin/screen -d -m /home/pi/miner/run.sh');
}
Это в rc.local:
/home/pi/miner/ripper.pl >>/home/pi/miner/ripper.log
Это в /etc/crontab:
*/3 * * * * root /home/pi/miner/ripper.pl >> /home/pi/miner/ripper.log
скрипт run.sh я тоже изменил
#!/bin/bash
ulimit -c unlimited
/home/pi/miner/drivers.sh
while true; do
/home/pi/miner/miner
sleep 10
done