Para garantir que o comando system
consiga encontrar o rtcwake
, atualize seu código C para ter o caminho completo do programa:
system("/usr/sbin/rtcwake -m mem -s 60");
Eu estou tentando colocar meu pc para dormir por um minuto e depois ativar a cada 5 minutos e usei o comando
*/5 * * * * /usr/sbin/rtcwake -m mem -s 60
para conseguir isso e funciona muito bem.
Mas quando eu tento fazer isso através de um executável compilado a partir do código
#include<stdio.h>
int main()
{
system("rtcwake -m mem -s 60");
return 0;
}
na minha pasta pessoal e alterando o crontab para
*/5 * * * * /home/****/./a.out
onde a.out
é executável para o código C fornecido acima, não faz nada.
Eu posso ver o crontab executando a.out
usando grep CRON /var/log/syslog
periodicamente a cada 5 minutos. Mas meu PC não entra em estado de suspensão.
Como posso corrigir isso?
Para garantir que o comando system
consiga encontrar o rtcwake
, atualize seu código C para ter o caminho completo do programa:
system("/usr/sbin/rtcwake -m mem -s 60");