“

我理解> /dev/null将事物重定向到/dev/null像黑洞一样的地方。不过,我不明白什么< /dev/null意思。我看到一些脚本是这样写的:

nohup myprogram > foo.out 2> foo.err < /dev/null &

那么,< /dev/null上面代码中的含义是什么?

这是一个例子哪里有建议

答案1

它确保所有 I/O 流都被占用/占用。

这样,后台进程就不会与终端“绑定”任何内容,因此您可以继续自己的业务,而无需程序尝试从 TTY 读取数据,否则会导致终端挂起。

在本例中,由于您是从 shell 脚本通过 ssh 启动进程,因此可以确保脚本可以不受阻碍地运行。

答案2

program </dev/null意味着program正在通过文件描述符 0(即 STDIN)从文件 获取其输入参数(可以是选项的输入参数,也可以是要操作的输入文件)/dev/null

正如您所知,/dev/null不包含任何内容,它会在读取时通知 EOF(文件结束),因此任何从中获取输入的程序/dev/null基本上都不会重定向任何内容作为其输入参数。

相关内容