Eu encontrei cpulimit
.
$ sudo apt-get install cpulimit # for installing cpulimit
$ pgrep process_to_limit # getting the pid
1234
$ cpulimit -p 1234 -l 30 # -p pid -l percentage_of_cpu_to_use
Mas parece que cpulimit
usa apenas o pid de um processo em execução ou executa um programa. Isso significa que você precisa encontrar um caminho (script bash) para executar o cpulimit quando o daemon estiver em execução.
Aqui está um pequeno script de shell que lê o pid, executa o cpulimit e dorme por 60min.
#!/bin/sh
# This example uses firefox, replace the variable PROG
PROG=firefox
PID='pgrep $PROG'
if [ $PID ] # if $PID not equals 0 (zero)
then
cpulimit -p $PID -l 30 # limit the cpu time to 30%
sleep 60m # wait 60 minutes
else
sleep 60m
fi
Salvar como, por exemplo, run_cpulimit.sh
, conceda permissão chmod u+x run_cpulimit.sh
e inicie-a.