我经常从 shell 执行 GUI 程序,例如 Firefox 和 evince。如果我输入“firefox &”,firefox 会被视为 bash 作业,因此“fg”会将其带到前台并“挂起”shell。当我有一些后台作业(例如 vim)正在运行时,这会很烦人。
我想要的是启动 Firefox 并将其与 bash 分离。使用我的假想 runbg 考虑以下理想情况:
$ vim foo.tex
ctrl+z and vim is job 1
$ pdflatex foo
$ runbg evince foo.pdf
evince runs in background and I get me bash prompt back
$ fg
vim goes foreground
有没有办法使用现有程序来实现这一点?如果没有,我将编写自己的 runbg。
答案1
这个怎么样?
( firefox & )
这似乎将其排除在工作表之外,并且fg
根本看不到它。
答案2
做这个:
bash$ firefox &
bash$ disown
Bash 现在已经忘记了您刚刚创建的后台作业。