有没有办法或选项可以让命令在后台运行,而无需等待它结束后再获取提示?(就像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
这样,您的命令就完全不可见了,我用它在终端中执行其他命令时听音乐,即使您关闭终端,音乐会继续播放。