In the present scenario although Child2 failed first ( exit 1 ) the status is not displayed until Child1 is complete.
That's because you are waiting for the first child before anything else. You can try plain "wait", but that doesn't return until ALL children have completed.
What you can do is set up a wait-loop, and then set up a signal handler to call "jobs" or check on the specific status of any jobs; and set up an alarm-like thingy to wake up the signal handler. The wait call then gets pre-empted. So for instance, something like this (untested) in bash might work:
When wait exits with 0, there are no remaining background tasks, and the loop terminates. If you don't have bash, but have "setsid", you can effectively disown a process that way.
nohup /bin/bassh $HOME/scripts/test.sh > $HOME/log/test.log 2>&1 &
nohup $HOME/scripts/test.sh > $HOME/log/test.log 2>&1 &
Which is the good practice to run a script in background of above two ?
does the first one will have any overhead on the system ?
our system is SunOS 5.10... (2 Replies)
I have script 3 scripts 1 parent (p1) and 2 children child1 and child2
I have script 3 scripts
1 parent
2 children
child1
child2
In the code below the 2 child processes fire almost Instantaneously in
the background, Is that possible to know the status of pass/fail of each
process... (12 Replies)
Running centos 2.6, I have a bash script in which I'd like to run a number of background threads in parallel, tee'ing the results of the entire script to one file, while tee'ing the result of each background thread to another.
Here's what I'm doing, where the number of csv files control the... (1 Reply)
So I made my own unix shell, but i want to make a background process when using the & appended to the end, so far most of the commands seem to work (except cd, but thats another story)
right now here is what I have got.
Im thinking maybe I shouldn't be using switch and maybe switch it to... (27 Replies)
I am trying to use a loop to start tasks 0-3, running 0,1,2 in the background with &.
FOLDSET=( 0 1 2 3 )
for FOLDSET in ${FOLDSET}
do
if ; then
BACKGRD="&"
else
BACKGRD=""
fi
# start task $FOLDSET
task1 -nogui -ni -p $PROJ \
epochs=$EPOS ... (3 Replies)
NOTE: I am using BASH and Solaris 10 for this.
Currently in the process of building a script that has a main "watcher" daemon that reads a configuration file and starts background processes based on it's global configuration. It is basically an infinite loop of configuration reading. Some of the... (4 Replies)
I'm having trouble with part of this bash script in Linux where I respawn a new instance of script and kill the old one to prevent forking (Yes, I know 'exec' will not fork but this needs to be interactive) When the old instance is kill it pops up "Terminated!" in the middle of the new instance... (7 Replies)
Hi
Say I am interested in processing a big data set over shell, and each process individually takes a long time, but many such processes can be pipe-lined, is there a way to do this automatically or efficiently in shell?
For example consider pinging a list addresses upto 5 times each. Of... (5 Replies)
I'm completely brand new to bash scripting (migrating from Windows batch file scripting). I'm currently trying to write a bash script that will automatically reset "error-disabled" Cisco switch ports. Please forgive the very crude and inefficient script I have so far (shown below). It is... (10 Replies)
Hello! I have got a homework. The bash script runs in the background and checks the user's mailbox and when the user gets a new mail a popup window appears with some text and information about the sender (from who and when).I have no idea how to start, any help would be appreciated! Thank you:) (1 Reply)
Discussion started by: capo2ndfret
1 Replies
LEARN ABOUT HPUX
queuedefs
queuedefs(4) Kernel Interfaces Manual queuedefs(4)NAME
queuedefs - queue description file for at, batch, and crontab
SYNOPSIS DESCRIPTION
The file describes the characteristics of the queues managed by (see cron(1M)). Each non-comment line in this file describes one queue.
The format of the lines are as follows:
[njob[nice[nwait
The fields in this line are:
q The name of the queue, such that is the default queue for jobs started by (see at(1)), is the queue for jobs started by
(see at(1)), and is the queue for jobs run from a file (see crontab(1)). Queue names through designate user-defined
queues.
njob The maximum number of jobs that can be run simultaneously in that queue. Although any number can be specified here, (see
cron(1M)) by default limits the number of jobs that can be run on all the queues to 100. This limitation can be removed
by setting the variable to 1 in the file.
nice The value to give to all jobs in that queue that are not run with a user ID of super-user (see nice(1)). The default
value is 2.
nwait The number of seconds to wait before rescheduling a job that was deferred because more than njob jobs were running in that
job's queue, or because more than 100 jobs were running in all the queues (see njob above).
EXAMPLES
Consider the following file:
The file is interpreted as follows:
The queue, for jobs (see at(1)), can have up to 4 jobs running simultaneously, and those jobs will be run with a value of
1.
Since no nwait value is given, if a job cannot be run because too many other jobs are running, will wait 60 seconds
before trying again to run it (see cron(1M)).
The queue, for jobs (see at(1)), can have up to 2 jobs running simultaneously. Those jobs will be run with a value of 2.
If a job cannot be run because too many other jobs are running, will wait 90 seconds before trying again to run it.
All other queues can have up to 100 jobs running simultaneously. They will be run with a value of 2, and if a job cannot be run because
too many other jobs are running, will wait 60 seconds before trying again to run it.
SEE ALSO at(1), nice(1), crontab(1), cron(1M), proto(4).
STANDARDS CONFORMANCE queuedefs(4)