2

I often execute GUI programs, such as firefox and evince from shell. If I type "firefox &", firefox is considered as a bash job, so "fg" will bring it to foreground and "hang" the shell. This becomes annoying when I have some background jobs such as vim already running.

What I want is to launch firefox and dis-associate it with bash. Consider the following ideal case with my imaginary 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

Is there any way to do this using existing program? If not, I will write my own runbg.

Chenmunka
  • 3,264

2 Answers2

4

How about this?

( firefox & )

This seems to keep it out of the jobs table, and fg can't see it at all.

1

Do this:

bash$ firefox &
bash$ disown

Bash has now forgotten about the background job you just created.

Fran
  • 5,511