05-18-2013
Usually named pipes would be used between two processes. The problem I see with this approach is that named pipes are byte oriented. So while you are writing the line oriented file list to the named pipe, the processes will be snatching the bytes off the named pipe and once it is gone, it is gone.
So in other words, those parallel reading processes would garble those file names, and so you would need to use some kind of signaling to synchronize the read operations so that it can only be performed by one process at the time..
Another approach might be to use one named pipe per reading process.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi All,
I am facing a vague issue while trying to make two process talk to each
other using named pipe.
read process
=========
The process which reads, basically creates FIFO using
mkfifo - ret_val = mkfifo(HALF_DUPLEX, 0666);) func.
It then opens the pipe using open func - fd =... (1 Reply)
Discussion started by: sharanbr
1 Replies
2. Programming
Hi All,
I am facing a vague issue while trying to make two process talk to each
other using named pipe.
read process
=========
The process which reads, basically creates FIFO using
mkfifo - ret_val = mkfifo(HALF_DUPLEX, 0666) func.
It then opens the pipe using open func - fd = open... (2 Replies)
Discussion started by: sharanbr
2 Replies
3. UNIX for Dummies Questions & Answers
Gurus,
I've a File Transaction Server, which communicates with other servers and performs some processing.It uses many Named PIPE's.
By mistake i copied a named PIPE into a text file.
I heard that PIPE files shouldn't be copied.Isn't it?
Since it's a production box, i'm afraid on... (2 Replies)
Discussion started by: Tamil
2 Replies
4. UNIX for Dummies Questions & Answers
I want to copy the contents of a named pipe to a file. I have tried using:
cat pipe.p >> transcript.log
but I have been unsuccessful, any ideas? (4 Replies)
Discussion started by: carl_vieyra
4 Replies
5. UNIX for Dummies Questions & Answers
Hello,
On my machine, all mail is stored in my /var/spool/mail.
IS there a way to direct all mail that goes there into a namep pipe?
Thank you,
Dado (4 Replies)
Discussion started by: dadoprso
4 Replies
6. Shell Programming and Scripting
I would like to pipe (redirect ? - what is the right term?) the output of my script to a file named with the current date.
If I run this at a command prompt:
date +'%Y%m%d"
...it returns "20110429"
OK, that's good... so I try:
./script.sh > "'date +%Y%m%d'.csv"
I get a file... (1 Reply)
Discussion started by: landog
1 Replies
7. Shell Programming and Scripting
Hi,
I want to use a Named pipe to get input from a growing file for further processing. When I prototype this scenario using a while loop, the data is not written to the named pipe.
This the script I use to get data into the Named pipe:
#!/bin/ksh
mkfifo pipe
while (( n <= 10 ))
do
echo... (2 Replies)
Discussion started by: sudvishw
2 Replies
8. Shell Programming and Scripting
Hi,
I am getting data into a Named pipe. Does Named pipe have any size restriction; I know it does not have any storage and it just passes on the data to the next process.
I want to know, if there will be a difference in the Named pipe performance if the data input is more. (I am using DB2... (1 Reply)
Discussion started by: sudvishw
1 Replies
9. UNIX for Dummies Questions & Answers
Ok, I can't seem to figure this out or find anything on the web about this.
I'm on Sun Solaris, UNIX.
I have the following test script:
#!/bin/ksh
touch test.file
LOG=./tmp.log
rm -f ${LOG}
PIPE=./tmp.pipe
mkfifo ${PIPE}
trap "rm -f ${PIPE}" EXIT
tee -a ${LOG} < ${PIPE} &
... (17 Replies)
Discussion started by: Ditto
17 Replies
10. Shell Programming and Scripting
Hi ALL,
How can I test a given file name exists and if it is a named pipe file in shell script ?
Thanks............ (2 Replies)
Discussion started by: mycode.in
2 Replies
LEARN ABOUT OPENSOLARIS
print
print(1) User Commands print(1)
NAME
print - shell built-in function to output characters to the screen or window
SYNOPSIS
ksh
print [-Rnprsu [n]] [arg]...
ksh93
print [-Renprs] [-f format] [-u fd] [string...]
DESCRIPTION
ksh
The shell output mechanism. When no options are specified, or when an option followed by ' a - is specified, or when just - is specified,
the arguments are printed on standard output as described by echo(1).
ksh93
By default, print writes each string operand to standard output and appends a NEWLINE character.
Unless, the -r, -R, or -f option is speciifed, each character in each string operand is processed specially as follows:
a Alert character.
Backspace character.
c Terminate output without appending NEWLINE. The remaining string operands are ignored.
E Escape character (ASCII octal 033).
f FORM FEED character.
NEWLINE character.
Tab character.
v Vertical tab character.
\ Backslash character.
x The 8-bit character whose ASCII code is the 1-, 2-, or 3-digit octal number x.
OPTIONS
ksh
The following options are supported by ksh:
-n Suppresses new-line from being added to the output.
-r-R Raw mode. Ignore the escape conventions of echo. The -R option prints all subsequent arguments and options other than -n.
-p Cause the arguments to be written onto the pipe of the process spawned with |& instead of standard output.
-s Cause the arguments to be written onto the history file instead of standard output.
-u [ n ] Specify a one digit file descriptor unit number n on which the output is placed. The default is 1.
ksh93
The following options are supported by ksh93:
-e Unless -f is specified, process sequences in each string operand as described above. This is the default behavior.
If both -e and -r are specified, the last one specified is the one that is used.
-f format Write the string arguments using the format string format and do not append a NEWLINE. See printf(1) for details on how to
specify format.
When the -f option is specified and there are more string operands than format specifiers, the format string is reprocessed
from the beginning. If there are fewer string operands than format specifiers, then outputting ends at the first unneeded for-
mat specifier.
-n Do not append a NEWLINE character to the output.
-p Write to the current co-process instead of standard output.
-r Do not process sequences in each string operand as described above.
-R
If both -e and -r are specified, the last one specified is the one that is used.
-s Write the output as an entry in the shell history file instead of standard output.
-u fd Write to file descriptor number fd instead of standard output. The default value is 1.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 Output file is not open for writing.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
echo(1), ksh(1), ksh93(1), printf(1), attributes(5)
SunOS 5.11 27 Mar 2008 print(1)