原文:dup和dup2用法小結

今天和同學探討了一下關於重定向輸出到文件的問題,其中需要用到dup和dup 函數,因此來小小的總結一下。 首先來man一下: dup直接返回一個新的描述符和原來的描述符一樣代表同一個資源,描述符的值就從當前未使用的最小的描述符來取。 而dup 則是可以指定描述符的值,這樣通過把文件的描述符指定為STDOUT FILENO,這樣就相當於重定向輸出為文件了。 所以有以下程序: 然而,調用的兩次prin ...

2016-09-07 00:20 0 2165 推薦指數:

查看詳情

關於dupdup2函數

  首先dupdup2函數是用於復制文件描述符的。他們倆的頭文件是#include<unistd.h>   先說一下dup函數。函數定義 int dup(fd) fd是一個某一個打開的文件的描述符,它的返回值是當前進程可用的最小的文件描述符,同時這個文件描述符和fd同時文件表中 ...

Mon Aug 19 23:16:00 CST 2019 0 760
dupdup2函數

下面兩個函數都可用來復制一個現存的文件描述符: #include<unistd.h> int dup(int filedes); int dup2(int filedes,int filedes2); ...

Fri Feb 06 19:33:00 CST 2015 0 2525
Linux內核分析:dupdup2的實現

一、首先需要看一下這兩個函數的作用: 根據manual的解釋: dup:創建一份oldfd的拷貝,使用最小的文件描述符作為新的文件描述符。 dup2:創建一份oldfd的拷貝,使用指定的newfd作為新的文件描述符。 要看這兩個函數是怎么實現的,首先得知道Linux對於文件 ...

Sat Jan 07 17:12:00 CST 2017 0 1542
linux之dupdup2函數解析

1. 文件描述符在內核中數據結構在具體說dup/dup2之前,我認為有必要先了解一下文件描述符在內核中的形態。一個進程在此存在期間,會有一些文件被打開,從而會返回一些文件描述符,從shell中運行一個進程,默認會有3個文件描述符存在(0、1、2), 0與進程的標准輸入相關聯,1與進程的標准輸出 ...

Sat Aug 12 09:20:00 CST 2017 0 8302
linux c——dup( )和dup2( )函數詳解(轉)

dup()函數和dup2()函數書上在文件操作那一章,已經講過了,這周看重定向這塊,發現它挺重要,就再看了回,記錄下。 1、 dup函數 頭文件及函數定義: dup用來復制參數oldfd所指的文件描述符。當復制成功是,返回最小的尚未被使用過的文件描述符,若有錯誤則返回-1. ...

Mon Jun 03 16:26:00 CST 2019 0 1049
linux中pipe和dup2詳解

1、什么是管道   管道是半雙工的,數據只能向一個方向流動;需要雙方通信時,需要建立起兩個管道; 只能用於父子進程或者兄弟進程之間(具有親緣關系的進程); 單獨構成一種獨立的文件系統:管道對於管道兩 ...

Tue Dec 01 00:13:00 CST 2015 0 3244
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM