Skip to content
Advertisement

getting a program to return immediately at the command line so it’s not tied to the shell that launched it

Some programs return immediately when launched from the command line, Firefox for example. Most utilities (and all the programs I’ve written) are tied to the shell that created them. If you control-c the command line, the program’s dead.

What do you have to add to a program or a shell script to get the return-immediately behavior? I guess I’m asking two questions there, one for shell scripts and one for general, if they’re different. I would be particularly interested to know if there’s a way to get an executable jar to do it.

I’m almost embarrassed to ask that one but I can’t find the answer myself.

Thanks!

Advertisement

Answer

For an executable program (as opposed to a shell script), on Linux/Unix use fork() and exec() and then exit the parent process, which will return to the shell. For details see the man pages, or some page like http://www.yolinux.com/TUTORIALS/ForkExecProcesses.html.

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement