我可以让命令在后台执行而不产生任何输出吗?

我可以让命令在后台执行而不产生任何输出吗?

有没有办法或选项可以让命令在后台运行,而无需等待它结束后再获取提示?(就像mplayer在后台播放音乐文件并在听音乐时执行另一个命令的命令一样)

答案1

在脚本中,你可以使用以下命令使进程在后台运行:

COMMAND &

或者

COMMAND & disown

如果您想从终端运行某些程序,然后关闭终端并使进程保持运行,这种方法也很有效。

如果您希望,您还可以隐藏命令输出(因此它不会显示在脚本的背景中),方法是:

COMMAND >/dev/null 2>&1 & disown

答案2

我在一本关于 bash shell 命令的书中找到了它:

setsid COMMAND &> /dev/null

以下是一个例子:

setsid mplayer "/home/naruto/Music/sfx_ctf_cap_pl.wv" &> /dev/null

这样,您的命令就完全不可见了,我用它在终端中执行其他命令时听音乐,即使您关闭终端,音乐会继续播放。

相关内容