在后台用1替换&1中运行mplayer命令

时间:2018-09-22 04:03:52

标签: bash background mplayer

在后台运行mplayer的正式方法。

mplayer some.mkv </dev/null >/dev/null 2>&1 &
[3]9536

[3]9536表示mplayer命令的pid为9536。
如果我将上述命令的&1替换为1:

mplayer some.mkv </dev/null >/dev/null 2>1 &
[4] 9590
[3]   Done                    mplayer some.mkv < /dev/null > /dev/null 2> 1

为什么这里有多余的输出?

[3]   Done                    mplayer some.mkv < /dev/null > /dev/null 2> 1

1 个答案:

答案 0 :(得分:0)

与您的更改无关。发生这种情况是因为您之前的mplayer实例在此同时退出。这是另一个示例:

$ sleep 1 &
[1] 18155                                   # Sleep #1 started in background
$ sleep 1 &
[2] 18163                                   # Sleep #2 started in background
[1]   Done                    sleep 1       # Sleep #1 finished because it's been a second

2>&1替换2>1会使mplayer状态和错误进入当前目录中名为1的文件。我不知道为什么你会做这样的事情,但是bash很乐意履行义务。