linux中如何判断一个文件是否存在?
除了用stat之类函数判断外,还可以用access函数,且后者用起来更简单。
用stat时,示例如下:
int exec_log()
{
struct stat st;
memset(&st,0,sizeof(st));
if(!stat("/home/log_url",&st)){//如果log_url不存在,stat就会返回非0
if(st.st_size >= 0){//加了一层保证
int pid=fork();
if(!pid){
printf("start ...\n");
execl("/home/log_update","/home/log_update",NULL);
printf("log_update failed\n");
}else if(pid > 0){
return 0;
}else{
printf("exec log error!\n");
}
}
}
return 1;
}
用access函数的例子:
if ( !access ("/home/log_url", F_OK) ) {
if(system("/home/log_update") == -1)
printf ("exec log_update failed!\n");
}else{
printf ("log_url not existed!\n");
}
阅读(791) | 评论(0) | 转发(0) |