03-13-2009
wait problem
Hello, I have been trying to figure out why the wait isnt waiting for the sleep process to complete till now and have found out that since sleep runs as different process and not a child process the wait isnt waiting.
script:
cat test|while read i
do
echo $i
sleep 30 &
done
wait
ps -ef|grep sleep
The output of the above script is
1 ab
2 bc
3 cd
4 de
user 24553 1 0 06:15 pts/3 00:00:00 sleep 30
user 24554 1 0 06:15 pts/3 00:00:00 sleep 30
user 24555 1 0 06:15 pts/3 00:00:00 sleep 30
user 24556 1 0 06:15 pts/3 00:00:00 sleep 30
user 24558 24550 0 06:15 pts/3 00:00:00 grep sleep
Can somebody please let me know how I can have the sleep command run as a child process so that the wait command works and the output of the script wont show any sleep processes running in the background.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
When running top, I notice a bit more I/O wait time than usual. Is there a tool or piece of software out there that can me help evaluate the performance of these operations on my machine? Thanks! (5 Replies)
Discussion started by: unavb
5 Replies
2. Shell Programming and Scripting
:cool:
I need to execute a shell script to do the following:
cat a file
run two back ground processes using the first two values from the file
wait till those background processes finish
run two more background processes using the next two values from the file
wait till those background... (1 Reply)
Discussion started by: halo98
1 Replies
3. UNIX for Dummies Questions & Answers
Hi everyone
I'm novice at Unix programming and I hope to post this thread in the correct place.
I have the following doubts:
1 Suppose we have some processes which are B's children process and another process A which has no relation with B and its children.
Can A do wait () for a... (5 Replies)
Discussion started by: Puntino
5 Replies
4. Shell Programming and Scripting
In one of the shell script (Where abinitio graph is called), the last line is wait ${!}. What does this wait ${!} mean ??? (2 Replies)
Discussion started by: risshanth
2 Replies
5. 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
6. Shell Programming and Scripting
I have tracefile of three nodes (0 , 1 and 2 ) as follows:
+ 0.02 0 1 tcp 40 ------- 1 0.0 2.0 0 0
- 0.02 0 1 tcp 40 ------- 1 0.0 2.0 0 0
+ 0.02 2 1 tcp 40 ------- 2 2.1 0.1 0 1
- 0.02 2 1 tcp 40 ------- 2 2.1 0.1 0 1
r 0.025032 0 1 tcp 40 ------- 1 0.0 2.0 0 0
+ 0.025032 1 2 tcp 40 -------... (11 Replies)
Discussion started by: ASAADAOUI
11 Replies
7. HP-UX
Hello,
On a HP-UX 10.20 server I've executed something similar to this command:
# echo 'selall;info;wait;infolog;view;done' | /usr/sbin/cstm
But it returns sometype of "argument list too long" error.
I suppose there is a way to fix it by using xargs but I can't figure it out.
Any... (7 Replies)
Discussion started by: asanchez
7 Replies
8. 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
9. Shell Programming and Scripting
Iam having a script which is used to load users and dumpfile in any given schema.Iam trying to autolog the script and have added two fucntion in it.
function init_stdout_redirect {
OUT_LOG=$1
OUT_PIPE=$(mktemp -u)
# Create the output pipe
mkfifo $OUT_PIPE
# Save stdout and... (15 Replies)
Discussion started by: Vikram_Tanwar12
15 Replies
10. Windows & DOS: Issues & Discussions
Hi,
I have run into a problem to which i can't seem to find any solution, posting here is my last resort.
Problem:
I am using plink to access my router and run a few configuration commands. When in enter configurations mode, instead of sending next command plink keeps on waiting for manual... (7 Replies)
Discussion started by: zaainabbas
7 Replies
WAIT(2) System Calls Manual WAIT(2)
NAME
wait - wait for a process to exit
SYNOPSIS
#include <u.h>
#include <libc.h>
int wait(Waitmsg *w)
DESCRIPTION
Wait causes a process to wait for any child process (see fork(2)) to exit. It returns the pid of a child that has exited and fills in w
with more information about the child. W points to a Waitmsg, which has this structure:
typedef
struct Waitmsg
{
char pid[12]; /* of loved one */
char time[3*12]; /* of loved one & descendants */
char msg[ERRLEN];
} Waitmsg;
Pid is the child's process id. The time array contains the time the child and its descendants spent in user code, the time spent in system
calls, and the child's elapsed real time, all in units of milliseconds. All integers in a Waitmsg are formatted as right-justified textual
numbers in 11-byte fields followed by a blank. Msg contains the message that the child specified in exits(2). For a normal exit, msg[0]
is zero, otherwise msg is prefixed by the process name, a blank, the process id, and a colon.
If there are no more children to wait for, wait returns immediately, with return value -1.
SOURCE
/sys/src/libc/9syscall
SEE ALSO
fork(2), exits(2), the wait file in proc(3)
DIAGNOSTICS
Sets errstr.
WAIT(2)