Reputation: 11319
Let's take example of a command "example-command".
example-command
in terminal, and example-command
executes.example-command
gets killed too.example-command &
", but the same behaviour.How do I execute a command so that when I close the terminal, the command doesn't get terminated?
Upvotes: 25
Views: 29081
Reputation: 19343
In Zsh (not bash) you can:
example-command &; disown {pid}
or just
example-command &; disown
Upvotes: 7
Reputation: 28460
There are two ways, identical in result.
nohup
when you start your program. E.g., nohup example-command
. You can background and work with it normally; it will simply continue running after you've quit.disown
command. Unfortunately, as far as I know, disown
is bash-specific; if you use another shell, such tcsh
, you may be restricted to the nohup
form above.Upvotes: 28
Reputation: 4750
Please search for similar questions first.
Besides the ways listed above, you can do:
setsid command_name
For example:
setsid xclock
Thanks
Upvotes: 11
Reputation: 28384
disown is a bash builtin. You could create a wrapper shellscript for your command such as
#!/bin/bash
$1 &
P=`which $1`
disown `pidof ${P}`
Not the most robust script (by any means) but may help get you going. For example:
$./launch_script.sh myProgram
You can also do this in the source of the program if you are editing it.
Upvotes: 1
Reputation: 7615
You can also use the 'at' or 'batch' commands and give it the current time.
Upvotes: 1