什么是文件描述符?
文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。
最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。
"2>&1 > file"和 "> file 2>&1"区别?
1.php test.php 2>&1 > file :错误输出到终端,标准输出被重定向到文件file。
2.php test.php > file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。
文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。
最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。
"2>&1 > file"和 "> file 2>&1"区别?
1.php test.php 2>&1 > file :错误输出到终端,标准输出被重定向到文件file。
2.php test.php > file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。
<?php
$fp = fopen("php://stderr", "w");
fwrite($fp, "stderr\n");
fclose($fp);
$fp = fopen("php://stdout", "w");
fwrite($fp, "stdout\n");
fclose($fp);
//php test.php 2>&1 > /dev/null
//结果为:stderr
//php test.php > /dev/null 2>&1
//结果为无输出
?>
本文解释了文件描述符的概念及其在进程中的作用,并详细对比了两种不同的输出重定向命令的区别,帮助读者理解标准输入、输出及错误输出如何被操作系统处理。

被折叠的 条评论
为什么被折叠?



