A child process which survives the parent's death (for sure)

( command & )
Test scenario: * Open xterm (or konsole, ...) * Start xeyes with: ( xeyes & ) * Close the xterminal The xeyes process should be still running.

25
By: wiburg
2011-01-07 19:06:30

1 Alternatives + Submit Alt

What Others Think

{ list; } &
RanyAlbeg · 389 weeks and 1 day ago
{ list; } & doesn't work here. I started xeyes this way. After closing the terminal, xeyes was terminated. This doesn't happen, if you start it with ( xeyes & ).
wiburg · 389 weeks and 1 day ago
Wow. How does it work? Does it fork shell one additional time?
lockie · 389 weeks and 1 day ago
Yes, you are right. But if you are running a script which consist of { list; } & it acts the same. lockie, the following is taken from ``man bash' ' : (list) list is executed in a subshell environment.
RanyAlbeg · 389 weeks and 1 day ago
Just to add my $0.02, it starts the process in the background in its own sub-shell. So it won't die if the spawning shell of the sub-shell is terminated. I always used to hup my commands to keep them alive even if the parent dies. However, I like this better! :)
scilec · 389 weeks ago
wouldn't command & exit also work?
capncanuck · 388 weeks and 5 days ago
What's wrong with nohup xeyes&
dennisw · 388 weeks and 5 days ago
nice one! :) will definitely put to use
BruceLEET · 388 weeks and 3 days ago
Zsh has an even nicer way to do the same command &!
adambyrtek · 388 weeks and 2 days ago
nohup leaves all those annoying "nohup.out" files that I don't really care for. they pollute my filesystem if left unchecked
kaedenn · 388 weeks ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: