From: Chris Wedgwood <cw@f00f.org>
To: Martin Rode <Martin.Rode@programmfabrik.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Question about bi-directional pipes.
Date: Wed, 9 Jan 2002 00:52:11 +1300 [thread overview]
Message-ID: <20020108115211.GC29782@weta.f00f.org> (raw)
In-Reply-To: <3C3AB20A.8B16C23A@programmfabrik.de>
In-Reply-To: <3C3AB20A.8B16C23A@programmfabrik.de>
On Tue, Jan 08, 2002 at 09:47:06AM +0100, Martin Rode wrote:
I was just wondering if it is possible under Linux to use popen in
a bi-directional way?
using pipe(2) --- no
I want to use popen under php and must write _and_ read from and
to the pipe. Some guy at the php mailing list stated that this is
possible to do with BSD, he wasn't sure about linux.
Some (all) of the *BSD's implement pipe(2) using UNIX domain sockets
under the hood and were thus able to do this, however, I don't believe
any other OS ever did this and I certainly wouldn't assume it will
work for compatibility reasons.
If this is a kernel issue and not a glibc one, is there a way to
get popen work bi-directionally under linux? Say I want a
pipe = popen ('somefile', 'w+');
Don't use glibc for this, it can't do what you want. I have a small
library I wrote that does a popen type thing and gives separate access
to stdin, stdout and stderr of the process --- if that is of use you
are welcome to it (it's C, not php, I have no idea about how to import
C functions into php).
With a (small) amount of effort, I can even make a version that nukes
stderr and wraps the stdin/stdout functions with a a UNIX domain socket
which will do pretty much exactly what you want[1].
--cw
[1] Oh, it doesn't do command-line parsing as I explicitly didn't want
this when I wrote it.
next prev parent reply other threads:[~2002-01-08 11:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-08 8:47 Question about bi-directional pipes Martin Rode
2002-01-08 11:52 ` Chris Wedgwood [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-01-08 15:23 Jesse Pollard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020108115211.GC29782@weta.f00f.org \
--to=cw@f00f.org \
--cc=Martin.Rode@programmfabrik.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox