什么是文件描述符?
文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和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
//结果为无输出
?>