进程stdout,linux – ‘输出到stdout’是什么意思"/>
linux 查看进程stdout,linux – ‘输出到stdout’是什么意思
Linux系统(以及大多数其他系统)上的每个进程至少有3个打开的文件描述符:
> stdin(0)
> stdout(1)
> stderr(2)
每个文件描述符的规则将指向进程启动的终端.像这样:
cat file.txt # all file descriptors are pointing to the terminal where you type the command
cat < file.txt # will use file.txt as stdin
cat file.txt > output.txt # redirects stdout to a file (will not appear on terminal anymore)
cat file.txt 2> /dev/null # redirects stderr to /dev/null (will not appear on terminal anymore
当您使用管道符号时,会发生同样的情况:
wget -q http://192.168.0.1/test -O - | grep -m 1 'Hello'
实际发生的是wget进程的stdout(在|之前的进程)被重定向到grep进程的stdin.因此,当grep的输出是当前终端时,wget的stdout不再是终端.例如,如果要将grep的输出重定向到文件,请使用以下命令:
wget -q http://192.168.0.1/test -O - | grep -m 1 'Hello' > output.txt
更多推荐
linux 查看进程stdout,linux – ‘输出到stdout’是什么意思
发布评论