首先下载一个软件保证可以播放音乐:
sudo apt-get install sox libsox-fmt-all
以下是全部代码:
#include<stdio.h>
#include <time.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, const char *argv[])
{
time_t t;
char a,b,c,d;
t=time(NULL);
char *p=ctime(&t);
printf("%s",p);
printf("请输入闹钟时间,格式为 24:24(注输入的是英语:)\n");
while(1)
{
if(4==scanf("%c%c:%c%c",&a,&b,&c,&d))
{
break;
}
else
{
printf("您输入有误!\n");
return -1;
}
}
pid_t pid;
pid = fork();
if(pid < 0)
{
perror("fork");
exit(1);
}
else if(pid == 0)
{
if(-1 == setsid())
{
printf("setsid is fail\n");
exit(1);
}
umask(0);
int size,i;
size = getdtablesize();
for(i = 0;i < size;i++)
{
close(i);
}
while(1)
{
sleep(5);
t=time(NULL);
p=ctime(&t);
if(p[11]==a&&p[12]==b&&p[14]==c&&p[15]==d)
{
printf("play\n");
system("play clock.mp3");
return 0;
}
}
}
return 0;
}
将以上代码生成可执行文件,然后在当前目录下加入一首歌,歌名改为clock.mp3。
最后执行代码即可实现闹钟功能,注意关闭音乐通过
ps -aux
linux 6506 3.4 0.0 4344 1252 pts/23 S 11:07 0:00 ./clock val
信息一般在最后几行,输入
kill -9 6506
即可关闭音乐
链接:
https://pan.baidu.com/s/1nKKaRgCX9kOWwZrM92Dn6Q