Linux系统调用是操作系统提供的一组接口,允许应用程序与操作系统进行交互
-
文件操作:
- open():打开文件
- close():关闭文件
- read():读取文件内容
- write():写入文件内容
- lseek():在文件中移动位置
- stat():获取文件状态信息
- fstat():获取文件描述符的状态信息
- chmod():修改文件权限
- chown():修改文件所有者和组
- link():创建硬链接
- symlink():创建符号链接
- unlink():删除文件或目录
- rename():重命名文件或目录
- mkdir():创建目录
- rmdir():删除空目录
- opendir()/readdir()/closedir():读取目录内容
-
进程管理:
- fork():创建子进程
- execve():加载新程序到当前进程
- exit():终止进程
- waitpid():等待子进程结束
- kill():向进程发送信号
- getpid()/getppid():获取当前进程ID/父进程ID
- setpgid():设置进程组ID
- getpgrp():获取进程组ID
- setsid():创建新会话
- getsid():获取会话ID
-
信号处理:
- signal():注册信号处理函数
- sigaction():更灵活地控制信号处理
- sigprocmask():修改信号屏蔽集
- sigsuspend():暂停进程直到接收到指定信号
- sigpending():检查未处理的信号
-
内存管理:
- brk()/sbrk():调整堆大小
- mmap()/munmap():映射/解除映射内存区域
- mprotect():修改内存区域保护属性
- msync():将内存区域同步到磁盘
- mlock()/munlock():锁定/解锁内存区域
-
网络编程:
- socket():创建套接字
- bind():绑定套接字到地址
- listen():监听连接请求
- accept():接受连接请求
- connect():发起连接请求
- send()/recv():发送/接收数据
- sendto()/recvfrom():发送/接收数据(无连接)
- setsockopt():设置套接字选项
- getsockopt():获取套接字选项
- shutdown():关闭套接字的部分功能
-
多线程:
- pthread_create():创建线程
- pthread_join():等待线程结束
- pthread_detach():分离线程
- pthread_cancel():取消线程
- pthread_exit():终止线程
- pthread_self():获取当前线程ID
- pthread_equal():比较两个线程ID是否相等
- pthread_mutex_lock()/pthread_mutex_unlock():加锁/解锁互斥锁
- pthread_cond_wait()/pthread_cond_signal():等待/通知条件变量
这些系统调用为应用程序提供了与操作系统交互的基本方式。在Python中,你可以使用底层库(如ctypes)直接调用这些系统调用,或者使用Python标准库中的高级封装。