Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Is it possible to lounch command or bash script exit terminal and NOT interrupt command?

My solution was to run cron in specific time of day, but I'm sure there is something easier.

share|improve this question
Duplicate: How do I detach a process from Terminal, entirely? – slhck Jul 13 '12 at 12:19

3 Answers 3

up vote 17 down vote accepted

To avoid exit signals propagating to child processes of the terminal and shell, run the command with nohup, i.e.:

nohup cmd &
share|improve this answer
This is the correct answer. Without nohup, the started process is still considered a "child" of the terminal process and thus terminated if the terminal is closed. – Izzy Jul 13 '12 at 13:04
cmd & disown works too, since the & is treated like a ; command separator. The disown command removes the connection between the bash shell session and the backgrounded command. – lornix Jul 14 '12 at 20:34
zsh has a shorthand for this: cmd &|. – Thor Oct 26 '12 at 9:24

Put a "&" character after your command.


/home/your/ &
share|improve this answer
in this case, when the terminal is closed, so is the process started by /home/your/ -- as it was not detached from its "parent", but just "backgrounded". Use nohup to detach it for real. – Izzy Jul 13 '12 at 13:05
My bad, I didn't knew about that, but when I tested on my Debian, the command kept executing after closing the shell which launched it :/ – epingle Jul 13 '12 at 14:03
I'm not sure where exactly the backgrounded process is attached to and when. But if you e.g. log in to a remote machine, it is definitely stopped as soon as you log out (except if it daemonized itself). So to be 100% sure, you rather use nohup -- which also logs all (now invisible) output into a file called nohup.out located in the directory you started the command from. – Izzy Jul 13 '12 at 14:10
Okay, well thank you for your explanations ^^ – epingle Jul 13 '12 at 14:18

If you want to run a specific command or file every second or so in the background after exiting the terminal you could try this easy little thing;

nohup watch -n5 'bash' &

That would run every 5 seconds.

share|improve this answer
"nohup" is already covered by the accepted answer. And I'm pretty sure the asker mentioned cron because they were using it to say "Run this command a few seconds in the future", not to run it periodically. – David Richerby Aug 6 at 21:01
My answer don't make things worse. Do see the point of down vote. Neural would be sufficient. – jamietelin Aug 6 at 21:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.