我必须使用内存映射文件从我正在工作的项目中写下一些数据。例如:
- 进程开始时和结束时的PID
- 无论何时初始化并结束线程。
等。但我无法弄清楚,我能找到的信息非常有限,如何做这样的事情。我在这里尝试创建有问题的日志:
void create_log(){
char *addr;
struct stat sb;
if((flog = open(LOG, O_WRONLY|O_NONBLOCK)) < 0){
perror("Couldn't open log for writing");
exit(0);
}
if(fstat(flog, &sb) == -1){
perror("fstat");
close(flog);
exit(0);
}
addr = mmap(NULL, sb.st_size,PROT_WRITE,MAP_SHARED,flog,0);
}
如果等待一个功能性的例子是要问的话,我至少想要找到我需要学习的信息的链接。提前谢谢!