从终端运行音乐时停止接收信号

从终端运行音乐时停止接收信号

我可以通过输入以下内容来播放我的音乐收藏中的音乐:

'vlc somefile.mp3 &'

效果很好,除了我总是开始接收播放该歌曲的执行中的一些信号。

在下图中,我不想接收的信号是在此处运行“play_all”命令后开始在屏幕上运行的信息堆:

我不想接收这些信号,它们无关紧要。

我已经尝试在命令末尾添加 > /dev/null ,我认为这会重定向 STDOUT,但无济于事。

从终端运行音乐时如何停止接收信号?

答案1

您可以HUP使用nohupbefore 执行命令来停止接收(hang up)信号,也可以使用 bashdisown命令来禁用当前正在运行的作业的 HUP 效果。

nohup vlc somefile.mp3 &

答案2

由于nohup总是会生成一个输出到 stdout/stderr 的文件,因此您应该将其与输出重定向结合起来。

您在终端中看到的输出是 stderr 的输出。

当您使用时,vlc somefile.mp3 > /dev/null &您仅重定向 stdout 的输出,因此您仍然可以在终端中看到 stderr 输出。

要重定向 stdout 和 stderr 并且没有写入文件,nohup可以使用nohup vlc somefile.mp3 &> /dev/null &.

相关内容