Linux 有哪些系统调用

1. 进程管理相关系统调用

这些调用用于创建、销毁和管理进程

  • fork(): 创建一个子进程,它是父进程的精确副本
  • execve(): 在当前进程中加载并执行一个新程序
  • wait4(): 暂停当前进程,等待子进程退出或停止
  • exit(): 终止当前进程并返回一个状态码。
  • getpid(): 获取当前进程的 ID。

2. 文件和设备管理相关系统调用

这些调用是应用程序与文件系统交互的核心,包括文件的创建、读写和权限管理

  • open(): 打开或创建一个文件,返回一个文件描述符
  • read(): 从文件描述符中读取数据
  • write(): 向文件描述符中写入数据
  • close(): 关闭一个文件描述符
  • lseek(): 移动文件读写指针的位置
  • stat(): 获取文件的状态信息,例如大小、权限和创建时间
  • unlink(): 删除一个文件
  • ioctl(): 用于设备特有的 I/O 操作

3. 信息维护相关系统调用

这些调用用于获取或设置系统信息,如时间、用户信息和系统配置

  • gettimeofday(): 获取当前时间和时区信息
  • uname(): 获取操作系统的名称和版本信息
  • getuid(): 获取当前用户的有效 ID
  • getgid(): 获取当前用户的有效组 ID

4. 通信相关系统调用

这些调用主要用于进程间通信(IPC)和网络通信

  • pipe(): 创建一个匿名管道,用于父子进程间的通信
  • socket(): 创建一个网络套接字
  • connect(): 连接到远程主机
  • bind(): 将套接字绑定到一个地址和端口
  • listen(): 监听来自客户端的连接请求
  • accept(): 接受一个客户端的连接

5. 内存管理相关系统调用

这些调用用于分配、释放和管理进程的内存

  • brk(): 改变数据段的结束地址
  • mmap(): 创建一个内存映射,用于在文件中或设备中进行内存操作
  • munmap(): 撤销 mmap() 创建的内存映射
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:13:04

results matching ""

    No results matching ""