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):关闭文件,释放描述符。

相关推荐
.道阻且长.7 小时前
2.LeetCode算法习题讲解--双指针--复写零
算法·leetcode·职场和发展
ltl8 小时前
内核追踪:ftrace、kprobe、uprobe、tracepoint 生产实战
linux
·薯条大王8 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
To_OC9 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
小小、码农11 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b11 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
Forever Nore12 小时前
学完C语言力扣第一题做不来正常吗
数据结构·算法
hansang_IR12 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
沫璃染墨13 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++