Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是</bash中的dev/null?_Bash - Fatal编程技术网

什么是</bash中的dev/null?

什么是</bash中的dev/null?,bash,Bash,在bash中,标准(1)和错误(2)输出可以通过以下方式重新路由和丢弃: >/dev/null 2>&1 但是下面的例子做了一些不同的事情: nohup myscript.sh >myscript.log 2>&1 </dev/null & nohup myscript.sh>myscript.log 2>&1将/dev/null重定向到stdin将立即对来自该进程的任何读取调用发出EOF。这对于从tty分离进程(这样的进程称为守护进程)

在bash中,标准(1)和错误(2)输出可以通过以下方式重新路由和丢弃:

>/dev/null 2>&1
但是下面的例子做了一些不同的事情:

nohup myscript.sh >myscript.log 2>&1 </dev/null &

nohup myscript.sh>myscript.log 2>&1将
/dev/null
重定向到stdin将立即对来自该进程的任何读取调用发出
EOF
。这对于从tty分离进程(这样的进程称为守护进程)通常很有用。例如,当通过ssh远程启动后台进程时,您需要防止进程等待本地输入


重定向到/dev/null的另一个原因是防止为stdin创建未使用的文件描述符。当您有许多长时间运行的进程时,这可以最大限度地减少打开的文件句柄总数。

这是一种关闭
stdin
的方法,就像
EOF
^D
)被发送到它一样。在本例中,它可以与一起使用,表示该命令不应再期望来自
stdin
的输入


它还经常用于守护进程(停止6个进程)

如果进程与本地TTY有任何连接,则无法将其分离。这将用
/dev/null
上的句柄替换FD 0、stdin。
nohup myscript.sh >myscript.log 2>&1 </dev/null &
# |               ^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^
# |                    |           |      |     run in background
# |                    |           |      |     
# |                    |           |   don't expect input
# |                    |           |   
# |                    |           redirect stderr to stdout
# |                    |           
# |                    redirect stdout to myscript.log
# |
# keep running the command no matter whether the connection is lost or you logout