首先,Unix进程使用文件描述符0,1,2作为标准输入、输出和错误的通道。

  其次,当进程请求一个新的文件描述符的时候,系统内核将最低可用的文件描述符赋给它。

  第三,文件描述符集合通过exec调用传递,且不会被改变。

如何将stdin定向到文件

  方法1 :close then open

  方法2 :open..close..dup..close

  方法3 :open..dup2..close

newfd = dup(oldfd);
newfd = dup2(oldfd, newfd);

系统调用dup复制了文件描述符oldfp。

而dup2将oldfd文件描述符复制给newfd。两个文件描述符都指向同一个打开的文件

  

  

相关文章:

  • 2022-01-28
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
  • 2021-12-11
  • 2021-07-17
  • 2022-12-23
猜你喜欢
  • 2021-11-29
  • 2022-12-23
  • 2022-02-15
  • 2021-09-16
  • 2022-12-23
相关资源
相似解决方案