05-05-2005
How to use 2 Proccess communicating with each other using 2 pipe
Hi, Guys ...
I want to know how to use to 2 processes (A & B) communicating with each others through 2 pipes (Pipe1 & Pinpe2) :
such that process A write to Pipe1 and Process B read from Pipe1
and process B write to Pipe2 and Process A read from Pipe2 .
Does anyone have an idea about that ?! or tried it before ?!
Thank u for cooperating ...
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I am using system running on red hat linux 4.
I had connected health measuring machine to the serial port and configured it
stty -F /dev/ttyS0 9600 -parenb cs8 -cstopb
this machine requires a command to be passed to it for giving output. I am unable to pass command hexa format(0x68) to the... (4 Replies)
Discussion started by: netsavant
4 Replies
2. Solaris
I run cron in solaris 10 zone. One cron job which syncing files to nfs mounted on container, creates after finishing another cron proccess(/usr/sbin/cron), and after 100 existing cron proccesses next cron job will not start. It's too weird for me, I'm not able to solve this problem. Theoretically... (3 Replies)
Discussion started by: ron76
3 Replies
3. UNIX for Dummies Questions & Answers
Hello,
I would like to know if it is possible to communicate between two terminals on seperate computers for free - e.g. not using proprietary software or using the built in UNIX terminals on operating systems of the UNIX flavor.
Thanks,
photray94 (2 Replies)
Discussion started by: photray94
2 Replies
4. Filesystems, Disks and Memory
Hi everybody
I need to find out the execution time of a proccess. how can I find it out?
Note that the proccess execution are snap.
Thanks in advance. (4 Replies)
Discussion started by: Zaxon
4 Replies
5. AIX
i want to know that my serial port ( pci slot with 2 port ) is working fine and communicating
is there any way to know the serialport is working and communicating?
please help (3 Replies)
Discussion started by: pchangba
3 Replies
6. Programming
$./a.out smtp.gmail.com 25
220 mx.google.com ESMTP 9sm2923369yxf.23
250 mx.google.com at your service
220 2.0.0 Ready to start TLS
after handshake
Common Name: smtp.gmail.com
after get cert dn
-----BEGIN SSL SESSION PARAMETERS-----... (0 Replies)
Discussion started by: darshan.ghumare
0 Replies
7. Shell Programming and Scripting
Hi All,
I have a requirment, i need to get the list of all the process which are running from last two days on my unix server and also to put this list into an another file.
i am giving you a sample example :
$ ps -ef
UID PID PPID C STIME TTY TIME CMD (1 Reply)
Discussion started by: akshu.agni
1 Replies
8. Shell Programming and Scripting
Hi, i was looking for an answer for some trouble im having runing a script in the cron, thing is, that when i run it manually it works just fine. But when cron runs it, it just doenst work. I saw a reply on a similar subject, suggesting that the . .profile worked for you, but im kind of... (0 Replies)
Discussion started by: blacksteel1988
0 Replies
9. Programming
I have a simple client/server program I am using for learning purposes.
I have it setup so that after server is setup and listening it than goes into a loop where it accepts incoming client connections. After each connection, the client socket is than passed to a thread routine where it can be... (3 Replies)
Discussion started by: Majortom71
3 Replies
10. Shell Programming and Scripting
I have a london-electronics LED sign I picked up on eBay which I would like to display custom messages on programmatically. It is working ok.
Opening it up, it has an ethernet to serial connection currently plugged in and a serial connection currently unplugged internally (same connectors).... (9 Replies)
Discussion started by: windswept321
9 Replies
pipe(2) System Calls Manual pipe(2)
Name
pipe - create an interprocess channel
Syntax
include <limits.h> /*Definition of PIPE_MAX*/
pipe(fildes)
int fildes[2];
Arguments
fildes Passing an address as an array of two integers into the system call.
Description
The system call creates an I/O mechanism called a pipe. The file descriptors returned can be used in and operations. Their integer values
will be the two lowest available at the time of the function call. The O_NONBLOCK and FD_CLOEXEC flags will be clear on both file descrip-
tors.
When the pipe is written using the descriptor fildes[1], up to PIPE_MAX bytes of data are buffered before the writing process is suspended.
A read using the descriptor fildes[0] picks up the data.
It is assumed that after the pipe has been set up, two (or more) cooperating processes (created by subsequent calls) pass data through the
pipe with and calls.
The shell has a syntax to set up a linear array of processes connected by pipes.
For further information on how and calls behave with pipes, see the and reference pages.
A signal is generated if a write on a pipe with only one end is attempted.
Restrictions
Should more than 4096 bytes be necessary in any pipe among a loop of processes, deadlock may occur.
The underlying implementation of pipes is no longer socket based, but rather implemented through the file system. Any application that
needs socket functionality from pipes should use the system call.
Return Values
The function value zero is returned if the pipe was created; -1 if an error occurred.
Diagnostics
The call fails if:
[EMFILE] Too many descriptors are active.
[ENFILE] The system file table is full.
[EFAULT] The fildes buffer is in an invalid area of the process's address space.
Environment
Differs from the System V definition in that ENFILE is not a possible error condition.
See Also
sh(1), fork(2), read(2), socketpair(2), write(2)
pipe(2)