Background and Foreground of a process within a script
I'm not sure if it is even possible but I figured if it was someone here would know how to do it...
I am running a script which starts a bunch of processes in the background but there is one process I would like to bring back to the foreground when complete. Unfortunately the process that I would like in the foreground must be started (and ends up waiting for user input) before some of the other processes. So in my mind I have two potential ways to accomplish this:
1) Start the process in the background and then using the 'fg' command bring it back to the foreground at the end of the script. i.e:
The output I would get from this is (with set -x):
Obviously within the script it tracks the jobs (proved by jobs -l) but it will not bring one of the jobs back the the foreground.
I also don't like this tactic that much because it means my script will not end until my 2nd process ends, if I can even get it working. Not that big of a deal, but there has got to be a better way.
Which leads me to:
2) Is there a way to bring a background process that is started by another shell (same user, or if I must use sudo I will) to the foreground of a different shell?
Using the same script above as an example:
Now I understand that the script starts a new shell so that is why when the script is completed that I cannot see the process in the background with jobs. Is it possible to bring this forward on this shell?
It might be impossible, since it sounds like it could be a nice security flaw, but if it was possible it would be the best fit for my situation.
I am sure some of you are wondering why in the world would I do this, but to keep a long post from being a novel I left that out. Basically the process I want to bring to the foreground allows us to enable some debugging.
Maybe there is a way to pass input to a command that is in the background? That would also solve my issue, but I don't think there is a way to do that either...
My system: I'm running RHEL 5.1 and currently using the bash shell (but I am willing to write the script in a different shell if you think it will make a difference)
Sorry for the long post, but I wanted to explain it correctly. If you have ANY ideas, I'm willing to hear it.
Thanks in advance!!
EDIT - Oh yeah, I didn't write the code to the processes that are actually running, so I don't know about what exactly everything is doing (as far as system calls and such). It was written in sections by different code monkeys and I'm integrating. Also - This is used for debugging only, won't be necessary in the delivered software.
my shell is /sbin/sh. i added stty susp '^Z' with the intention of being able to switch between foreground and background. but the result was strange.
i had 2 servers. one is sun the os is 8 and the other is hpux v11. both of them had the same shell. but on hpux, it works perfectly fine while... (9 Replies)
I am using a telnet session (VT100) and need to modify my .profile so that it will set the color of the telnet session. I am not using Xterm (ie: can't use .Xdefaults). I am able to change the colors via menu's but need to preset in .profile. Is this possible??? Can't find anything at all on how... (3 Replies)
hi, i am just wondering that wen we give the following code we make a process run in background...can the viceversa be performed?i.e can this be made foreground again
# sleep 75&
21751
# (4 Replies)
I've tried this a long time ago and was successful but could not remember how i did it. Tried ctrl+Z and then used bg %
could not figure what i did after to keep it no hangup -
not sure if used nohup -p pid, can u plz help me out if this can be done.
Any help will be appreciated. (12 Replies)
What are all the difference between a Background and Foreground processes ?!
A Background process does not have access to STDIN and OUT.. What else ?
Is there any detailed description available somewhere ? (5 Replies)
I have many CPU intensive processes running and sometimes I run them in the foreground so that I can see what the output is.
I want to send that foreground process to the background, but also have it direct the output to a logfile.
I know to send something to the bg I do
Ctrl-z on the FG... (6 Replies)
What I need to learn is how to use a script that launches background processes, and then kills those processes as needed.
The script successfully launches the script. But how do I check to see if the job exists before I kill it?
I know my problem is mostly failure to understand parameter... (4 Replies)
Hi, guys:
I am working on my own shell using c. When I put a process into the background, how can I put it back to the foreground using tcsetpgrp?
Thanks (3 Replies)
Hi,
Need an urgent help. I have a program executing in foreground. I need to execute it in background and also to remove terminal dependency.
Thanks In advance.
116@434 (7 Replies)
Hi all,
I used the code given by cfajohnson on this forum to generate background colors for xterm.
Thanks cfajohnson... (sorry wasnt allowed to past the complete url)
n=200 ## adjust to taste: higher value, lighter background n1=$(( 256 - $n )) bg=$( printf "#%x%x%x\n" $(( $RANDOM % $n1 +... (2 Replies)