找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

查看: 353|回复: 0
收起左侧

[求助] 这是Linux下的C编程的一点问题

[复制链接]
peanutone 发表于 2017-06-29 22:54:21 | 显示全部楼层 |阅读模式
   我使用fstat函数来监控一个文件,我手动修改该文件,但是结构体中的st_mtime这个参数的值一直没有改变,我的程序代码如下,请各位大神帮我看看。
# include <stdio.h>
# include <sys/types.h>
# include <sys/stat.h>
# include <unistd.h>
# include <fcntl.h>

int main (int argc,char *argv[])
{
        if(argc != 3)
        {
                fprintf(stderr,"Usage:%s watchfile copyfile \n",argv[0]);
                return 1;
        }
       
        int fd = open(argv[1],O_RDONLY,0644);
        if(fd == -1)
        {
                fprintf(stderr,"Watchfile:%s can't open!\n",argv[1]);
                return 2;
        }
       
        struct stat stbuf;
        fstat(fd,&stbuf);
        printf("stbuf.st_mtime = %d\n",stbuf.st_mtime);
        time_t old_time;
        pid_t pid,stat;
       
        old_time = stbuf.st_mtime;
        printf("old_time = %d\n",old_time);
        while(1)
        {
                fstat(fd,&stbuf);
                printf("stbuf.st_mtime = %d\n",stbuf.st_mtime);
                if(old_time != stbuf.st_mtime)
                {
                        pid = fork();
                        if(pid == 0)
                        {
                                execl("/bin/cp","/bin/cp",argv[1],argv[2],0);
                                return 3;
                        }
                       
                        wait(&stat);
                        old_time = stbuf.st_mtime;
                }
                else
                        sleep(10);
        }
        return 0;
}





























































您需要登录后才可以回帖 登录

本版积分规则

快速回复 返回顶部 返回列表

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。