bash - 在后台运行 mplayer 命令将 &1 替换为 1
问题描述
在后台运行 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
解决方案
这与你的改变无关。发生这种情况是因为您之前的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 很乐意接受。
推荐阅读
- bash - 使用变量设置 Docker GitLab root 密码?
- java - equalsIgnoreCase 在自身上被调用。错误
- reactjs - Material-UI:`css` 功能已弃用。改用 `styleFunctionSx`
- python - 用于裁剪的 GUI 测量图片大小
- reactjs - “TypeError:graphql.isType 不是函数”
- reactjs - 收到来自 firebase 云消息传递的消息后调度操作
- python - 内核似乎已经死了。它将自动重新启动。在 MacBook Pro M1 上
- c++ - 指向未知模板类型的全局外部指针
- raspberry-pi - 具有 php mail() 支持的灯堆栈 Web 服务器的免费 Web 托管
- zsh - zsh 中的 csplit:基于模式拆分文件