unistd.rst 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. unistd.h
  2. ====================================
  3. 简介:
  4. =====
  5. 也是一些常用函数
  6. 函数列表:
  7. ======
  8. ``int close(int fd)`` : 关闭文件
  9. ``ssize_t read(int fd,void *buf,size_t count)`` : 从文件读取
  10. 传入文件id,缓冲区,以及字节数
  11. 返回成功读取的字节数
  12. ``ssize_t write(int fd,void const *buf,size_t count)`` : 写入文件
  13. 传入文件id,缓冲区,字节数
  14. 返回成功写入的字节数
  15. ``off_t lseek(int fd,off_t offset,int whence)`` : 调整文件访问位置
  16. 传入文件id,偏移量,调整模式
  17. 返回结束后的文件访问位置
  18. ``pid_t fork(void)`` : fork 当前进程
  19. ``pid_t vfork(void)`` : fork 当前进程,与父进程共享 VM,flags,fd
  20. ``uint64_t brk(uint64_t end_brk)`` : 将堆内存调整为end_brk
  21. 若end_brk 为 -1,返回堆区域的起始地址
  22. 若end_brk 为 -2,返回堆区域的结束地址
  23. 否则调整堆区的结束地址域,并返回错误码
  24. ``void *sbrk(int64_t increment)`` :
  25. 将堆内存空间加上offset(注意,该系统调用只应在普通进程中调用,而不能是内核线程)
  26. increment : 偏移量
  27. ``int64_t chdir(char *dest_path)``
  28. 切换工作目录(传入目录路径)
  29. ``int execv(const char* path,char * const argv[])`` : 执行文件
  30. path : 路径
  31. argv : 执行参数列表
  32. ``extern int usleep(useconds_t usec)`` : 睡眠usec微秒