当前位置: 技术问答>linux和unix
open函数中第2个参数为O_DIRECTORY和O_CLOEXEC的用方法
来源: 互联网 发布时间:2016-11-02
本文导语: 小弟最近写一个open函数的测试用例open(const char *pathname, int flags);其中flags为O_DIRECTORY和O_CLOEXEC的时候表示什么意思,以及如何写测试用例来检测他的作用。 | O_DIRECTORY,如果pathname不是一个目...
小弟最近写一个open函数的测试用例open(const char *pathname, int flags);其中flags为O_DIRECTORY和O_CLOEXEC的时候表示什么意思,以及如何写测试用例来检测他的作用。
|
O_DIRECTORY,如果pathname不是一个目录,那么open()失败
测试时,你可以使用这个选项打开一个普通文件,看open()是否失败
O_CLOEXEC 应该表示执行exec()时,之前通过open()打开的文件描述符会自动关闭
测试时,在open()之后,调用一下exec(),在新的进程中检测描述符是否已经关闭
测试时,你可以使用这个选项打开一个普通文件,看open()是否失败
O_CLOEXEC 应该表示执行exec()时,之前通过open()打开的文件描述符会自动关闭
测试时,在open()之后,调用一下exec(),在新的进程中检测描述符是否已经关闭
|
或者,直观一点的
把描述符作为一个参数传递给被exec()调用的程序
程序尝试读写命令行参数对应的描述符
把描述符作为一个参数传递给被exec()调用的程序
程序尝试读写命令行参数对应的描述符