10-16-2006
unix pipe in C
I currently stuck on a simple program that requires unix pipe. I'm have never programmed with unix pipe before, so if anyone can point me to the right different will be greatly appreciated!
I'm suppose to write a program that the parent spawns many child processes and each of the child process are trying to decrement the same variable. This can be easily done with pthreads, since variables are shared in threads but not processes. I'm required to use the unix pipe facility and pipes only, so pthreads, sockets, shared memory are out of the question.
Since I'm new to this unix pipe thing, I did some readings online. Most of the tutorials are only talking about one child process trying to communicate with one parent process using an one-way pipe. There aren't any examples that talks about multiple child processes communicating with the parent. Heck, all I need to know is how to make all these child processes access to the same variable and avoid race conditions.
I did thought about using a semaphore to do the locking and a file to store the variable, however I don't know where the pipe will come in in this approach (since I'm required need to use pipes to do the program).
Thanks in advance!
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi ,
I want to understand how the PIPE works in unix . Precisely what I am doing is this .
1. Creating a Named PIPE with the command
mknod sqlldr.dat p
2. Directing a file output to the PIPE file in the background
cat abc > sqlldr.dat
3.SQL Loader in oracle is... (5 Replies)
Discussion started by: akrathi
5 Replies
2. HP-UX
I would like to know if the following can be done.
route output from an sql select directly to a pipe and compress it at the same time.
regards
Albert (2 Replies)
Discussion started by: booyena1
2 Replies
3. Shell Programming and Scripting
Could one of you shad some light on this:
I need to split the file by determining the record count and than splitting it up into 4 files. Please note, this is not a fixed record length but rather a "|" delimited file.
I am not sure as how to handle reminder/offset for the 4th file.
For... (4 Replies)
Discussion started by: ddedic
4 Replies
4. UNIX for Dummies Questions & Answers
Looking for examples/definition of what the term Pipe means in UNIX. Please provide answers and illustrations if possible or direction. Thanks!:) (5 Replies)
Discussion started by: dfrost126
5 Replies
5. UNIX for Advanced & Expert Users
I am pretty new to UNIX. My client has a requirement where in a directory we have some files with somewhat similar name
like test_XX.txt, test_XY.txt, test_XZ.txt, test_ZZ.txt, test_ZY.txt, test_ZX.txt, test_YY.txt......Out of these files
few files have 0 bytes. Is there a way where we can go... (7 Replies)
Discussion started by: RubinPat
7 Replies
6. Shell Programming and Scripting
I am trying to convert a txt file that includes one long string of data. The lines are separated with hex value 7C (for pipe).
I am trying to process this file using SQR (Peoplesoft) so I thought the easiest thing to do would be to replace the eol char with a CRLF in unix so I can just... (4 Replies)
Discussion started by: sfedak
4 Replies
7. UNIX for Dummies Questions & Answers
EDIT: Nevermind, called a friend who is good at this stuff and he figured it out :D
Hi all,
So I'm trying to teach myself to write programs for unix in c. I am currently creating a program, and I need to pass a struct through a pipe, but I can't figure out how.
The struct I want to pass... (0 Replies)
Discussion started by: twnsfn34
0 Replies
8. Shell Programming and Scripting
Hi
I am new to Unix Shell scripting have a requirement where I have to replace the "unix 1 byte delimiter" with the "pipe" separator and also remove any carriage returns and line feeds if any
The Source File
4 QFH Jungle Hill 32-34 City Road London SE23 3UX
the output should be ... (3 Replies)
Discussion started by: dJHa
3 Replies
9. Shell Programming and Scripting
I have created a fifo named pipe in solaris, which writes the content of a file, line by line, into pipe as below:
$ mkfifo namepipe
$ cat books.txt
"how to write unix code"
"how to write oracle code"
$ cat books.txt >> namepipe &
I have a readpipe.sh script which reads the named... (2 Replies)
Discussion started by: naveen mani
2 Replies
10. UNIX for Beginners Questions & Answers
Hi All,
I'm creating a program which reads millions of bytes from the PIPE and do some processing. As the data is more, the idea is to read the pipe parallely.
Sun Solaris 8
See the code below:
#!/bin/sh
MAXTHREAD=30
awk '{print $1}' metadata.csv > nvpipe &
while
do
... (3 Replies)
Discussion started by: mr_manii
3 Replies
LEARN ABOUT DEBIAN
fghack
fghack(8) System Manager's Manual fghack(8)
NAME
fghack - is an anti-backgrounding tool.
SYNOPSIS
fghack child
DESCRIPTION
fghack runs child with many extra descriptors writing to a pipe. fghack reads and discards any data written to the pipe. After child has
exited and the pipe has been closed, fghack exits.
SEE ALSO
supervise(8), svc(8), svok(8), svstat(8), svscanboot(8), svscan(8), readproctitle(8), pgrphack(8), multilog(8), tai64n(8), tai64nlocal(8),
setuidgid(8), envuidgid(8), envdir(8), softlimit(8), setlock(8)
http://cr.yp.to/daemontools.html
fghack(8)