编辑
2025-04-03
技术杂谈
00
请注意,本文编写于 126 天前,最后修改于 126 天前,其中某些信息可能已经过时。

目录

简答
fork
pipe

简答

  • 文件描述符是什么
  • 在静态链接的ELF a.out加载后的初始状态中,栈中存放着什么?
  • 简述mmap的行为
  • 为什么有些程序(比如vim)ctrlc退出不了?

fork

  • fork之后的文件描述符(和偏移量)会怎样?
  • 可能会输出几个.
C
void foo(){ int x = fork(); int y = fork(); if (x >= y) fork(); sys_write(STDOUT_FILENO, ".", 1); }

pipe

  • 如果忽略stdin/stdout/stderr中的缓冲区,直接close会怎样?
  • 如何利用C写这样一个程序:fork之后父进程的输出作为子进程的输入

利用int pipe(int pipefd[2])int dup2(int oldfd, int newfd)