Linux -- 系统调用

系统调用基础

用户态函数 → 触发内核态系统调用

  • printf → 内核 write

  • fopen/fclose → 内核 open/close

文件操作核心系统调用:

open → read → write → close

文件操作系统调用详解

1. 标准文件描述符

  • 0:标准输入 stdin

  • 1:标准输出 stdout

  • 2:标准错误 stderr

自定义打开的文件描述符从 3 开始。

2. 常用头文件

复制代码
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>

3. 打开文件:open

复制代码
int open(const char *pathname, int flags, mode_t mode);
  • 常用 flags:

    • O_RDONLY:只读

    • O_WRONLY:只写

    • O_CREAT:不存在则创建

    • O_TRUNC:清空文件

  • 返回值:成功返回文件描述符 fd,失败返回 -1。

4. 读写关闭

  • read(fd, buf, count):读数据到缓冲区。

  • write(fd, buf, count):写数据到文件。

  • close(fd):关闭文件,释放描述符。

相关推荐
十铭忘2 小时前
HMM(隐马尔可夫模型)的理解7——Baum–Welch 算法
人工智能·算法
hflmwl82 小时前
Motrix电脑版官网免费下载,motrix服务器绿色版官方下载安装
运维·服务器·motrix
LongRunning2 小时前
【Linux】RK3568(三)操作-视频流
linux
Discipline~Hai2 小时前
Linux网络编程02-TCP协议
linux·网络·tcp/ip·嵌入式·linux网络编程
智恒百亿2 小时前
RTX5090 八卡算力服务器:解析大模型私有化部署热门硬件的市场现状
运维·服务器·ai算力
java_logo2 小时前
Docker 部署 HertzBeat:轻松搭建无代理实时监控与告警平台
运维·docker·容器·监控告警·部署教程·hertzbeat·轩辕镜像
明月_清风3 小时前
十大经典排序算法 Go 实现全解:从入门到面试通关
后端·算法·排序算法
gsls2008083 小时前
OpsKat封装MCP:用 Go 标准库把运维 CLI 变成 AI 的“手“
运维·人工智能·golang·mcp
abc light3 小时前
Linux TCP网络
linux·网络·tcp/ip
元岳数字人小元3 小时前
数字人一体机如何落地?多模态智能交互设备全解析
运维·人工智能·人机交互·交互·源代码管理