20

I opened Cairo-dock in my terminal with: open cairo-dock and that worked but if I close the terminal it goes with it. How can I keep it open regardless of the terminal?

Jryl
  • 1,153

3 Answers3

23

nohup is a POSIX command to ignore the HUP (hangup) signal. The HUP (hangup) signal is by convention the way a terminal warns depending processes of logout. Output that would normally go to the terminal goes to a file called nohup.out if it has not already been redirected. nohup is a low-level utility simply configuring a command to ignore a signal. As seen below, nohup is very far from being a full-featured batch system solving all the problems of running programs asynchronously.

See manual:

man nohup

Example:

nohup cairo-dock &
BuZZ-dEE
  • 14,223
oerdnj
  • 7,940
19

Yet another way: disown

In the bash shell, the disown builtin command is used to remove jobs from the job table, or to mark jobs so that a SIGHUP signal is not sent to them if the parent shell receives it (e.g. if the user logs out).

For example:

cairo-dock & disown
pileofrocks
  • 1,352
  • 1
  • 11
  • 26
7

I personally use screen for this kind of stuff.

screen -d -m -S cairo_session open cairo-dock

What's good about this is that if you want to terminate cairo-dock, you can reconnect to the screen session and terminate it.

screen -S cairo_session -X quit

Screen has other uses. It's a terminal multiplexer.

totti
  • 6,818
  • 4
  • 39
  • 48
llt
  • 489
  • 2
    I would however recommend using tmux instead of screen. It has the same functionality (different binding though Ctrl-b instead of Ctrl-a), but works better than screen (at least for me). – oerdnj Mar 05 '13 at 13:51