std.os.posix 包
功能介绍
os.posix 包主要适配 POSIX 系统接口。
本包提供多平台统一操控能力,目前支持 Linux 平台,macOS 平台,Windows 平台与 HarmonyOS 平台。
API 列表
函数
| 函数名 | 功能 | 支持平台 | 
|---|---|---|
| open(String, Int32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxWindowsmacOSHarmonyOS | 
| open(String, Int32, UInt32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxWindowsmacOSHarmonyOS | 
| access(String, Int32) | 判断某个文件是否具有某种权限,具有返回 0,否则返回-1。 | LinuxWindowsmacOSHarmonyOS | 
| chdir(String) | 通过指定路径的方式,更改调用进程的当前工作目录。 | LinuxWindowsmacOSHarmonyOS | 
| chmod(String, UInt32) | 修改文件访问权限。 | LinuxWindowsmacOSHarmonyOS | 
| chown(String, UInt32, UInt32) | 修改文件所有者和文件所有者所属组。 | LinuxmacOSHarmonyOS | 
| close(Int32) | 关闭文件, close将会触发数据写回磁盘,并释放文件占用的资源。 | LinuxWindowsmacOSHarmonyOS | 
| creat(String, UInt32) | 创建文件并为其返回文件描述符,或在失败时返回 -1。 | LinuxWindowsmacOSHarmonyOS | 
| dup(Int32) | 用于复制旧 fd参数指定的文件描述符并返回。 | LinuxWindowsmacOSHarmonyOS | 
| dup2(Int32, Int32) | 用于复制 oldfd参数指定的文件描述符,并将其返回到newfd参数。 | LinuxWindowsmacOSHarmonyOS | 
| faccessat(Int32, String, Int32, Int32) | 判断 fd对应的文件是否具有某种权限,具有返回0,否则返回-1。 | LinuxmacOSHarmonyOS | 
| fchdir(Int32) | 通过指定文件路径的描述符,更改调用进程的当前工作目录。 | LinuxmacOSHarmonyOS | 
| fchmod(Int32, UInt32) | 修改文件描述符对应的文件访问权限。 | LinuxWindowsmacOSHarmonyOS | 
| fchmodat(Int32, String, UInt32, Int32) | 修改文件描述符对应的文件访问权限。 | LinuxWindowsmacOSHarmonyOS | 
| fchown(Int32, UInt32, UInt32) | 修改 fd对应的文件所有者和文件所有者所属组。 | LinuxmacOSHarmonyOS | 
| fchownat(Int32, String, UInt32, UInt32, Int32) | 修改文件描述符对应的文件所有者和文件所有者所属组。 | LinuxmacOSHarmonyOS | 
| getcwd() | 获取当前执行进程工作目录的绝对路径。 | LinuxWindowsmacOSHarmonyOS | 
| getgid() | 获取用户组 ID。 | LinuxmacOSHarmonyOS | 
| getgroups(Int32, CPointer<UInt32>) | 获取当前用户所属组的代码。 | LinuxmacOSHarmonyOS | 
| gethostname() | 获取主机名称,此名称通常是 TCP/IP网络上主机的名称。 | LinuxmacOSHarmonyOS | 
| getlogin() | 获取当前登录名。 | LinuxmacOSHarmonyOS | 
| getos() | 从 /proc/version文件中获取Linux系统的信息。 | Linux | 
| getpgid(Int32) | 获取 pid指定的进程的PGID,如果pid为零,返回调用进程的进程ID。 | LinuxmacOSHarmonyOS | 
| getpgrp() | 获取调用进程的父进程 ID。 | LinuxmacOSHarmonyOS | 
| getpid() | 获取调用进程的进程 ID(PID)。 | LinuxWindowsmacOSHarmonyOS | 
| getppid() | 获取调用进程的父进程 ID。 | LinuxmacOSHarmonyOS | 
| getuid() | 获取调用进程的真实用户 ID。 | LinuxmacOSHarmonyOS | 
| isBlk(String) | 检查传入对象是否为块设备,并返回布尔类型。 | LinuxWindowsmacOSHarmonyOS | 
| isChr(String) | 检查传入对象是否为字符设备,返回布尔类型。 | LinuxWindowsmacOSHarmonyOS | 
| isDir(String) | 检查传入对象是否为文件夹,返回布尔类型。 | LinuxWindowsmacOSHarmonyOS | 
| isFIFO(String) | 检查传入对象是否为 FIFO文件,返回布尔类型。 | LinuxmacOSHarmonyOS | 
| isLnk(String) | 检查传入对象是否为软链路,返回布尔类型。 | LinuxmacOSHarmonyOS | 
| isReg(String) | 检查传入对象是否为普通文件,返回布尔类型。 | LinuxWindowsmacOSHarmonyOS | 
| isSock(String) | 检查传入对象是否为套接字文件,返回布尔类型。 | LinuxmacOSHarmonyOS | 
| isType(String, UInt32) | 检查文件是否为指定模式的文件。 | LinuxmacOSHarmonyOS | 
| isatty(Int32) | 用于测试文件描述符是否引用终端,成功时返回 true,否则返回false。 | LinuxWindowsmacOSHarmonyOS | 
| kill(Int32, Int32) | 系统调用可用于向任何进程组或进程发送任何信号。 | LinuxmacOSHarmonyOS | 
| killpg(Int32, Int32) | 将信号 sig发送到进程组pgrp,如果pgrp为0,则 killpg() 将信号发送到调用进程的进程组。 | LinuxmacOSHarmonyOS | 
| lchown(String, UInt32, UInt32) | 修改文件链接本身所有者和所有者所属组。 | LinuxmacOS | 
| link(String, String) | 为存在的文件创建链接,一个文件可以有多个指向其 i-node的目录条目。 | LinuxmacOSHarmonyOS | 
| linkat(Int32, String, Int32, String, Int32) | 创建相对于目录文件描述符的文件链接。 | LinuxmacOSHarmonyOS | 
| lseek(Int32, Int64, Int32) | 当文件进行读或写时,读或写位置相应增加。 | LinuxWindowsmacOSHarmonyOS | 
| nice(Int32) | 更改当前线程的优先级。 | LinuxmacOSHarmonyOS | 
| open64(String, Int32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxHarmonyOS | 
| open64(String, Int32, UInt32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxHarmonyOS | 
| openat(Int32, String, Int32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxmacOSHarmonyOS | 
| openat(Int32, String, Int32, UInt32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxmacOSHarmonyOS | 
| openat64(Int32, String, Int32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxmacOSHarmonyOS | 
| openat64(Int32, String, Int32, UInt32) | 打开文件并为其返回新的文件描述符,或在失败时返回 -1。 | LinuxmacOSHarmonyOS | 
| pread(Int32, CPointer<UInt8>, UIntNative, Int32) | 将 fd指向的文件的nbyte字节传输到buffer指向的内存中。 | LinuxmacOSHarmonyOS | 
| pwrite(Int32, CPointer<UInt8>, UIntNative, Int32) | 将 buffer指向的内存中nbyte字节从指定偏移位置开始写入到fd指向的文件。 | LinuxmacOSHarmonyOS | 
| read(Int32, CPointer<UInt8>, UIntNative) | 将 fd指向的文件的nbyte字节传输到buffer指向的内存中。 | LinuxWindowsmacOSHarmonyOS | 
| remove(String) | 删除文件或目录。 | LinuxWindowsmacOSHarmonyOS | 
| rename(String, String) | 重命名文件,如果需要将会移动文件所在目录。 | LinuxWindowsmacOSHarmonyOS | 
| renameat(Int32, String, Int32, String) | 重命名文件,如果需要将会移动文件所在目录。 | LinuxmacOSHarmonyOS | 
| setgid(UInt32) | 设置调用进程的有效组 ID,需要适当的权限。 | LinuxmacOS | 
| sethostname(String) | 设置主机名,仅超级用户可以调用。 | LinuxmacOS | 
| setpgid(Int32, Int32) | 此函数将参数 pid指定的组ID设置为参数pgrp指定的组ID。 | LinuxmacOSHarmonyOS | 
| setpgrp() | 将当前进程所属的组 ID设置为当前进程的进程ID,此函数等同于调用 setpgid(0, 0)。 | LinuxmacOSHarmonyOS | 
| setuid(UInt32) | 设置调用进程的有效用户 ID,需要适当的权限。 | LinuxmacOS | 
| symlink(String, String) | 创建一个名为 symPath链接到path所指定的文件。 | LinuxmacOSHarmonyOS | 
| symlinkat(String, Int32, String) | 创建一个名为 symPath链接到path与fd所指定的文件。 | LinuxmacOSHarmonyOS | 
| ttyname(Int32) | 返回终端名称。 | LinuxWindowsmacOSHarmonyOS | 
| umask(UInt32) | 设置权限掩码。 | LinuxWindowsmacOSHarmonyOS | 
| unlink(String) | 从文件系统中删除文件。 | LinuxmacOSHarmonyOS | 
| unlinkat(Int32, String, Int32) | 从文件系统中删除文件。 | LinuxmacOSHarmonyOS | 
| write(Int32, CPointer<UInt8>, UIntNative) | 将 buffer指向的内存中nbyte字节写入到fd指向的文件。 | LinuxWindowsmacOSHarmonyOS | 
常量
| 常量名 | 功能 | 支持平台 | 
|---|---|---|
| AT_EMPTY_PATH | 表示在文件系统中空路径(即没有指定任何文件或目录)时返回的文件描述符,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsHarmonyOS | 
| AT_REMOVEDIR | 如果指定了 AT_REMOVEDIR标志,则对pathname执行等效于rmdir(2)的操作,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_CLOEXEC | 在某些多线程程序中,使用此标志是必不可少的。因为在一个线程同时打开文件描述符,而另一个线程执行 fork(2)加execve(2)场景下使用单独的fcntl(2)F_SETFD操作设置FD_CLOEXEC标志并不足以避免竞争条件,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_DIRECTORY | 如果 pathname指定的文件不是目录,则打开文件失败,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_CREAT | 如果要打开的文件不存在,则自动创建该文件,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_DSYNC | 每次写入都会等待物理 I/O完成,但如果写操作不影响读取刚写入的数据,则不等待文件属性更新,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_EXCL | 如同时设置 O_CREAT,则此指令检查文件是否存在。如果文件不存在,则创建文件。否则,打开文件出错。此外,如果同时设置了O_CREAT和O_EXCL,并且要打开的文件是符号链接,则打开文件失败,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_NOCTTY | 如要打开的文件是终端设备,则该文件不会成为这个进程的控制终端,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_NOFOLLOW | 如 pathname指定的文件是单符号连接,则打开文件失败,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_NONBLOCK | 以非阻塞的方式打开文件,即 I/O操作不会导致调用进程等待,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_SYNC | 同步打开文件,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxmacOSHarmonyOS | 
| O_RDONLY | 以只读方式打开文件,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_RDWR | 以读写模式打开文件,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_WRONLY | 以只写方式打开文件,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_APPEND | 读取或写入文件时,数据将从文件末尾移动。即写入的数据将附加到文件的末尾,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| O_RSYNC | 此标志仅影响读取操作,必须与 O_SYNC或O_DSYNC结合使用。如果有必要,它将导致读取调用阻塞,直到正在读取的数据(可能还有元数据)刷新到磁盘,适用函数open、open64、openat、openat64,所属函数参数oflag。 | LinuxHarmonyOS | 
| O_TRUNC | 如果文件存在且打开可写,则此标志将文件长度清除为 0,文件中以前存储的数据消失,适用函数 open、open64、openat、openat64,所属函数参数oflag。 | LinuxWindowsmacOSHarmonyOS | 
| R_OK | 测试文件读权限,适用函数 access,faccessat,所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| W_OK | 测试文件写权限,适用函数 access,faccessat,所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| X_OK | 测试文件执行权限,适用函数 access,faccessat,所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| F_OK | 测试文件是否存在,适用函数 access,faccessat,所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| SEEK_SET | 偏移参数表示新的读写位置,适用函数 lseek,所属函数参数whence。 | LinuxWindowsmacOSHarmonyOS | 
| SEEK_CUR | 向当前读或写位置添加偏移量,适用函数 lseek,所属函数参数whence。 | LinuxWindowsmacOSHarmonyOS | 
| SEEK_END | 将读写位置设置为文件末尾,并添加偏移量,适用函数 lseek,所属函数参数whence。 | LinuxWindowsmacOSHarmonyOS | 
| SIGABRT | 异常终止,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGBUS | 硬件故障,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGFPE | 算术错误,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGKILL | 终止,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGCONT | 暂停过程的继续,默认操作继续或忽略,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGHUP | 连接已断开,默认操作已终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGINT | 终端中断字符,默认动作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGQUIT | 终端退出字符,默认动作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGILL | 硬件指令无效,默认动作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGTRAP | 硬件故障,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGIOT | 硬件故障,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGIO | 异步 IO,默认操作终止,适用函数kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGPIPE | 写入未读进程的管道,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGALRM | 计时器到期,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGPWR | 电源故障或重启,系统调用无效,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsHarmonyOS | 
| SIGSEGV | 内存引用无效,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGSTOP | 停止,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGTERM | 终止,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGSTKFLT | 协处理器堆栈故障,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsHarmonyOS | 
| SIGCHLD | 子进程状态更改,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGTSTP | 终端停止符号,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGTTIN | 后台读取控件 tty,默认操作终止,适用函数kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGTTOU | 后台写控制 tty,默认操作终止,适用函数kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGURG | 紧急情况(套接字),忽略默认操作,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGUSR1 | 用户定义的信号,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGUSR2 | 用户定义的信号,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGVTALRM | 虚拟时间警报,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGPROF | 摘要超时,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGWINCH | 终端窗口大小更改,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGXCPU | CPU占用率超过上限,默认操作终止,适用函数kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| SIGXFSZ | 文件长度超过上限,默认操作终止,适用函数 kill,killpg,所属函数参数sig。 | LinuxWindowsmacOSHarmonyOS | 
| S_IRUSR | 表示文件所有者具有读权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IWUSR | 表示文件所有者具有写权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IRGRP | 表示文件用户组具有读权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IWGRP | 表示文件用户组具有写权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFREG | 文件类型为一般文件,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFBLK | 文件类型为块设备,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFDIR | 文件类型为目录,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFCHR | 文件类型为字符设备,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFIFO | 文件类型为 FIFO文件,适用函数isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFLNK | 文件类型为软连接,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IFSOCK | 文件类型为套接字文件,适用函数 isType, 所属函数参数mode。 | LinuxWindowsmacOSHarmonyOS | 
| S_IROTH | 表示其他用户对文件具有读权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IRWXG | 表示文件用户组具有读、写、执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IRWXU | 表示文件所有者具有读、写和执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IWOTH | 表示其他用户对文件具有写权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IXOTH | 表示其他用户对文件具有执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IRWXO | 表示其他用户对文件具有读、写和执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IXGRP | 表示文件用户组具有执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS | 
| S_IXUSR | 表示文件所有者具有执行权限,适用函数 open,open64,openat,openat64,chmod(mode),fchmod(mode),fchmodat(mode),creat, 所属函数参数flag。 | LinuxWindowsmacOSHarmonyOS |