How to call a program and exit from the shell (the caller) when program is active?

2

0

I want to run a program with GUI, by typing into konsole: foo args … and exit from the shell (that's the caller) when the program (foo) is active.

How do I this? Is there a Linux/Unix built-in command/program to do it? I'm not a shell-man, really. I know that it's possible by writing a small program in C or C++ (any other programming language with small I/O interface on POSIX) programming language with the fork() and one-of exec*() function family. It may take some time; I'll do it only if there is no native solution.

Sorry for my bad English; it's not my native language. Also, not sure on tags, please edit for me, if I'm wrong.

If it matters, I'm using OpenSUSE 10.x.

Jack

Posted 2012-11-01T15:44:45.513

Reputation: 963

Why do you need it? Do you know of any other program that behaves like this? – choroba – 2012-11-01T15:52:51.787

Because I want to open some programs by typing a single command on konsole; and when this programs is open, I don't need more of console open, but I couldn't close it because the console is the father of this program. – Jack – 2012-11-01T18:25:14.867

Answers

2

nohup foo args &

Will dissociate the command from the shell. Then you can exit. If foo produces any output, it will be placed in "nohup.out" in the current directory.

Alan Shutko

Posted 2012-11-01T15:44:45.513

Reputation: 3 698

What's the name of &'? it does exactly what I want to. I don't need realy ofnohup` program. – Jack – 2012-11-01T18:15:50.767

1

The & means to run the job in the background. More info. Note that without nohup, it will still exit when the shell is closed.

– ssmy – 2012-11-01T18:25:57.870