我尝试让我的电脑休眠一分钟,然后每 5 分钟唤醒一次,我使用了以下命令
*/5 * * * * /usr/sbin/rtcwake -m mem -s 60
来实现这一点,并且效果很好。
但是当我尝试通过从代码编译的可执行文件执行此操作时
#include<stdio.h>
int main()
{
system("rtcwake -m mem -s 60");
return 0;
}
在我的主文件夹中并将 crontab 更改为
*/5 * * * * /home/****/./a.out
对于上面提供的 C 代码来说a.out
是可执行的,它不执行任何操作。
我可以看到 crontab 每 5 分钟定期执行 a.out
一次grep CRON /var/log/syslog
。但我的电脑没有进入睡眠状态。
我该如何修复它?
答案1
为了确保system
命令能够找到,rtcwake
请更新您的 C 代码以获得完整路径该计划:
system("/usr/sbin/rtcwake -m mem -s 60");