从内核级别使用 sys_open
Use sys_open from kernel level
您好,我在使用 sys_open.At 时遇到了一些问题,此时我开始认为我对函数的参数做错了什么。
我如何使用它的一个例子:
fd = sys_open("file.txt" , O_WRONLY | O_CREAT, 0);
sys_write(fd, "test\n", strlen("test\n"));
sys_fsync(fd);
sys_fdatasync(fd);
sys_close(fd);
fd 值为非负整数 (0)。
每一个函数 returns 0 所以我猜它们被执行 corectly.Except sys_write。
每次我在写完文件后去查找文件时,我永远找不到它,不知道我的代码是否有问题?
Linux 的 sys_
函数族被认为是 deprecated now。但是,对于这个问题的目的,sys_open
是一个调用open
系统调用的用户级函数,然后调用内核级do_sys_open()
,后两者在[=14中定义=].因此,要从内核中打开文件,您应该坚持使用内核级函数而不是用户级函数。
Here are some answers 关于在内核级别打开文件,其中一些也已弃用,因此请注意。
您好,我在使用 sys_open.At 时遇到了一些问题,此时我开始认为我对函数的参数做错了什么。 我如何使用它的一个例子:
fd = sys_open("file.txt" , O_WRONLY | O_CREAT, 0);
sys_write(fd, "test\n", strlen("test\n"));
sys_fsync(fd);
sys_fdatasync(fd);
sys_close(fd);
fd 值为非负整数 (0)。 每一个函数 returns 0 所以我猜它们被执行 corectly.Except sys_write。 每次我在写完文件后去查找文件时,我永远找不到它,不知道我的代码是否有问题?
Linux 的 sys_
函数族被认为是 deprecated now。但是,对于这个问题的目的,sys_open
是一个调用open
系统调用的用户级函数,然后调用内核级do_sys_open()
,后两者在[=14中定义=].因此,要从内核中打开文件,您应该坚持使用内核级函数而不是用户级函数。
Here are some answers 关于在内核级别打开文件,其中一些也已弃用,因此请注意。