05-15-2008
you are right!
Thanks for the help gautham... yes, if I execute the read statement one more time with the same pipe and another char array, I am able to read the next set of buffered output in the pipe. Which means that consecutive read()s does help in displaying complete output.
I am just thinking of framing a correct while / for loop for this. Let me know if something crosses your mind - a while / for loop for doing COMPLETE read().
Thanks,
Vivek
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I don't follow what these are...
this is what my text says...
"When a process is started, a duplicate of that process is created. This new process is called the child and the process that created it is called the parent. The child process then replaces the copy for the code the parent... (1 Reply)
Discussion started by: xyyz
1 Replies
2. Programming
Hi,
Am new to Linux internals.
I want to use shared memory segment between the parent and the child processess.
if i create a shared memory before fork,the child inherits the attached
shared memory segments but once i call exec in the child process, all attached shared memory segments... (1 Reply)
Discussion started by: rvan
1 Replies
3. Shell Programming and Scripting
Hi,
I haev to devlop a script which when executed will take in a sudo privelege and run a set of commands then will go back to parent shell and execute the rest of the command
But the problem I am facing is that when the script is executed it takes the sudo privelege but it waits for the... (0 Replies)
Discussion started by: ruchirmayank
0 Replies
4. Solaris
Received the Timed out message consistently when I tried to jumpstart an M5000 with:
boot jsnet:speed=1000,duplex=full - install
Made the error go away by adding link-clock parameter:
boot jsnet:speed=1000,duplex=full,link-clock=master - install
"link-clock=master" disables... (1 Reply)
Discussion started by: markoakley
1 Replies
5. Homework & Coursework Questions
1. The problem statement, all variables and given/known data:
I need to make an program that in a loop creates one parent and five children with fork(). The problem i'm trying to solve is how to delete the parent and child of the childīs process.
2. Relevant commands, code, scripts,... (0 Replies)
Discussion started by: WhiteFace
0 Replies
6. Shell Programming and Scripting
Hi everyone
i am very new to linux , working on bash shell.
I am trying to solve the given problem
1. Create a process and then create children using fork
2. Check the Status of the application for successful running.
3. Kill all the process(threads) except parent and first child... (2 Replies)
Discussion started by: vizz_k
2 Replies
7. Windows & DOS: Issues & Discussions
I'm not sure if this is the right place to post this issue...but here goes...
I am converting a set of windows jobs from Control-M to AutoSys r11.3. The same command line is being executed in both systems. The Control-M job runs to compltion in about 1.5 hours, waiting for the entire batch... (3 Replies)
Discussion started by: ajomarquez
3 Replies
8. Shell Programming and Scripting
Hi,
I need to initiate a process script which will start and do some processing and then shuts down. Then i need to other verifications. But the the process takes around 25 to 3o minutes.
One thing i can monitor the nohup.out file for this process where i can wait for shutting down statement to... (3 Replies)
Discussion started by: Prashanth19
3 Replies
9. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
"Your a7.c program should use printf to print a nice message. (You can decide what to say.) Then the process... (9 Replies)
Discussion started by: miniviking10
9 Replies
10. Shell Programming and Scripting
Here is my test code
process = sp.Popen( + ,
bufsize=1,
universal_newlines=True,
stdout=sp.PIPE, stderr=sp.STDOUT,
cwd=src_home)
output, _ =... (2 Replies)
Discussion started by: ezee
2 Replies
PIPE(2) System Calls Manual PIPE(2)
NAME
pipe - create an interprocess channel
SYNOPSIS
#include <u.h>
#include <libc.h>
int pipe(int fd[2])
DESCRIPTION
Pipe creates a buffered channel for interprocess I/O communication. Two file descriptors are returned in fd. Data written to fd[1] is
available for reading from fd[0] and data written to fd[0] is available for reading from fd[1].
After the pipe has been established, cooperating processes created by subsequent fork(2) calls may pass data through the pipe with read and
write calls. The bytes placed on a pipe by one write are contiguous even if many processes are writing. Write boundaries are preserved:
each read terminates when the read buffer is full or after reading the last byte of a write, whichever comes first.
The number of bytes available to a read(2) is reported in the Length field returned by fstat or dirfstat on a pipe (see stat(2)).
When all the data has been read from a pipe and the writer has closed the pipe or exited,
read(2) will return 0 bytes. Writes to a pipe with no reader will generate a note sys: write on closed pipe.
SOURCE
/sys/src/libc/9syscall
SEE ALSO
intro(2), read(2), pipe(3)
DIAGNOSTICS
Sets errstr.
BUGS
If a read or a write of a pipe is interrupted, some unknown number of bytes may have been transferred.
When a read from a pipe returns 0 bytes, it usually means end of file but is indistinguishable from reading the result of an explicit write
of zero bytes.
PIPE(2)