10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
im having bash script with
while ***
command1 &&
command2 &&
command3 &&
done
i want to ask how i can prevent overloading server, by waiting untill all commands complete? any low resources intensive command like "wait" - i dont know if exist? (2 Replies)
Discussion started by: postcd
2 Replies
2. Shell Programming and Scripting
Let's say I start process A.sh, then start process B.sh. I call both of them in my C.sh
How can I make sure that B starts its execution only after A.sh finishes.
I have to do this in loop.Execution time of A.sh may vary everytime.
It is a parameterized script. (17 Replies)
Discussion started by: rafa_fed2
17 Replies
3. Shell Programming and Scripting
Hi,
I am facing a strange issue,
when i call a script from my while loop in background it doesnt go in background, despite the wait i put below the whil loop it goes forward even before the process put in background is completed.
cat abc.txt | while read -u4 line
do
#if line contains #... (2 Replies)
Discussion started by: mihirvora16
2 Replies
4. UNIX for Dummies Questions & Answers
When running a command using the >(cmd) syntax in bash how do you wait for the command to complete before moving on in your script?
Here is a simple example:
zcat largefile.gz | tee >(wc && echo “HELLO”) > /dev/null
# I tried wait, here but it doesn't wait for the process in the subshell.... (8 Replies)
Discussion started by: mrvwman
8 Replies
5. Red Hat
hi all,
We are trying to run a process in the background and in the process we call fork ;and wait for the child process to finish .We find that the died = wait(&status); happens after 10 seconds randomly and sometimes completes in time (within 1 sec)
This behavior is seen only when the... (1 Reply)
Discussion started by: vishnu.priya
1 Replies
6. Red Hat
hi all,
We are trying to run a process in the background and in the process we call fork ;and wait for the child process to finish .We find that the died = wait(&status); happens after 10 seconds randomly and sometimes completes in time (within 1 sec)
This behavior is seen only when the... (0 Replies)
Discussion started by: vishnu.priya
0 Replies
7. Filesystems, Disks and Memory
Hi All,
Am finding performance of my SD card using hdparm.
hdparm -tT /dev/BlockDev0
/dev/BlockDev0:
Timing cached reads: 1118 MB in 2.00 seconds = 558.61 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate
ioctl for device
Timing buffered disk reads: 14... (0 Replies)
Discussion started by: amio
0 Replies
8. Shell Programming and Scripting
can a wait command be run in background? or the script which has the wait command, be run background?
test.sh
-------
nohup a.sh &
nohup b.sh &
wait
nohup test.sh &
How can i run either wait or test.sh in background? i want test.sh to wait till a.sh and b.sh complete, and must be... (1 Reply)
Discussion started by: albertashish
1 Replies
9. Shell Programming and Scripting
Did not use 'wait' yet.
How I understand by now the wait works only for child processes, started background.
Is there any other way to watch completion of any, not related process (at least, a process, owned by the same user?)
I need to start a background process, witch will be waiting... (2 Replies)
Discussion started by: alex_5161
2 Replies
10. Shell Programming and Scripting
I'm using PERL on windows NT to try to run an extract of data. I have multiple zip files in multiple locations. I am extracting "*.t" from zip files and subsequently adding that file to one zip file so when the script is complete I should have one zip file with a whole bunch of ".t" files in it.
... (2 Replies)
Discussion started by: dangral
2 Replies
wait(1) User Commands wait(1)
NAME
wait - await process completion
SYNOPSIS
/bin/sh
wait [pid...]
/bin/jsh /bin/ksh /usr/xpg4/bin/sh
wait [pid...]
wait [ % jobid...]
/bin/csh
wait
DESCRIPTION
The shell itself executes wait, without creating a new process. If you get the error message cannot fork,too many processes, try using the
wait command to clean up your background processes. If this doesn't help, the system process table is probably full or you have too many
active foreground processes. There is a limit to the number of process IDs associated with your login, and to the number the system can
keep track of.
Not all the processes of a pipeline with three or more stages are children of the shell, and thus cannot be waited for.
/bin/sh, /bin/jsh
Wait for your background process whose process ID is pid and report its termination status. If pid is omitted, all your shell's currently
active background processes are waited for and the return code will be 0. The wait utility accepts a job identifier, when Job Control is
enabled (jsh), and the argument, jobid, is preceded by a percent sign (%).
If pid is not an active process ID, the wait utility will return immediately and the return code will be 0.
csh
Wait for your background processes.
ksh
When an asynchronous list is started by the shell, the process ID of the last command in each element of the asynchronous list becomes
known in the current shell execution environment.
If the wait utility is invoked with no operands, it will wait until all process IDs known to the invoking shell have terminated and exit
with an exit status of 0.
If one or more pid or jobid operands are specified that represent known process IDs (or jobids), the wait utility will wait until all of
them have terminated. If one or more pid or jobid operands are specified that represent unknown process IDs (or jobids), wait will treat
them as if they were known process IDs (or jobids) that exited with exit status 127. The exit status returned by the wait utility will be
the exit status of the process requested by the last pid or jobid operand.
The known process IDs are applicable only for invocations of wait in the current shell execution environment.
OPERANDS
The following operands are supported:
One of the following:
pid The unsigned decimal integer process ID of a command, for which the utility is to wait for the termination.
jobid A job control job ID that identifies a background process group to be waited for. The job control job ID notation is applicable
only for invocations of wait in the current shell execution environment, and only on systems supporting the job control option.
USAGE
On most implementations, wait is a shell built-in. If it is called in a subshell or separate utility execution environment, such as one of
the following,
(wait)
nohup wait ...
find . -exec wait ... ;
it will return immediately because there will be no known process IDs to wait for in those environments.
EXAMPLES
Example 1: Using A Script To Identify The Termination Signal
Although the exact value used when a process is terminated by a signal is unspecified, if it is known that a signal terminated a process, a
script can still reliably figure out which signal is using kill, as shown by the following (/bin/ksh and /usr/xpg4/bin/sh):
sleep 1000&
pid=$!
kill -kill $pid
wait $pid
echo $pid was terminated by a SIG$(kill -l $(($?-128))) signal.
Example 2: Returning The Exit Status Of A Process
If the following sequence of commands is run in less than 31 seconds (/bin/ksh and /usr/xpg4/bin/sh):
sleep 257 | sleep 31 &
jobs -l %%
then either of the following commands will return the exit status of the second sleep in the pipeline:
wait <pid of sleep 31>
wait %%
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of wait: LANG, LC_ALL, LC_CTYPE, LC_MES-
SAGES, and NLSPATH.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO
csh(1), jobs(1), ksh(1), sh(1), attributes(5), environ(5), standards(5)
SunOS 5.10 12 Dec 1997 wait(1)