02-05-2018
The second process, cmd2, will be able to read the standard output from cmd1 You should not need to know the PID.
It's all a bit theoretical at the moment. Can you explain what you really want to achieve?
Something like ls -l | more is a simple example of this. The output from ls -l (excluding errors) is passed to more which displays the output, pausing with a prompt when it believes it has written a screenful. The shell transfers the input for the more to be reading from the output of the ls rather than from the keyboard or whatever else standard input is defined as.
I'm sure we can explain this with a better example of what you are trying to do overall.
Kind regards,
Robin
10 More Discussions You Might Find Interesting
1. Programming
Hi,
Program A: uses pipe()
I am able to read the stdout of PROGAM B (stdout got through system() command) into PROGRAM A using:
* child
-> dup2(fd, STDOUT_FILENO);
-> execl("/path/PROGRAM B", "PROGRAM B", NULL);
* parent
-> char line;
-> read(fd, line, 100);
Question:... (2 Replies)
Discussion started by: vvaidyan
2 Replies
2. UNIX for Dummies Questions & Answers
Hi,
i want to write a script that executes a program (exec?) .
this program then requires a filename as input.
how do i give it this input in the script so the program will be complete run and close by the script.
e.g.
exec prog.exe
program then asks for filename
"enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies
3. Shell Programming and Scripting
Hi,
I would like to write a program to receive the GPS data and then send the data via network to other program.
All of the program is not write yet(include host and sender)
All of the server OS is unix or linux
Could you mind to give me some idea to do this?
Thanks so much!
Ken
... (2 Replies)
Discussion started by: kenlok
2 Replies
4. Solaris
Hello,
I recently upgraded our server from Solaris 8 to 9. The sendmail is unabled to pipe the email to a perl script. I can send and received email to local and external mail, but the script did not get the email. There is no error in the log and I could not find any thing on the web.
Here... (0 Replies)
Discussion started by: ld98
0 Replies
5. Programming
Hello guys,
my professor give me 2 days to study and make a program usign pipe, fork in c
i need to do a program
read a arq.txt
the father process read the file and the child print !
like this
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
int main (){
... (1 Reply)
Discussion started by: beandj
1 Replies
6. Homework & Coursework Questions
Hello guys,
my professor give me 2 days to study and make a program usign pipe, fork in c
i need to do a program
read a arq.txt
the father process read the file and the child print !
2. Relevant commands, code, scripts, algorithms:
like this
Code:
#include <stdio.h>... (1 Reply)
Discussion started by: beandj
1 Replies
7. UNIX for Advanced & Expert Users
Hi,
I am trying to sftp a large file(appx. 2 GB size) from solaris 10 to a Linux server. While sftping(with no options), connection is terminated after some time with broken pipe error. sftp with option -R1 or -B1500 is successful.
Linux server ssh Version: OpenSSH_3.9p1, OpenSSL 0.9.7a... (3 Replies)
Discussion started by: brij123
3 Replies
8. Linux
Hi all,
I have a text data file. My aim here is to find line called *FIELD* AV for every record and print lines after that till *FIELD* RF. But here I want first 3 to four lines for very record as well. FIELD AV is some where in between for very record. SO I am not sure how to retrieve lines in... (2 Replies)
Discussion started by: kaav06
2 Replies
9. Shell Programming and Scripting
For example, I have a file called number.txt.
x y
1 1
2 4
3 9
4 6
5 5
6 6
7 9
8 4
9 1
10 0
...
And I want to print out the value of x and y, if y%4==0 and the next value of y%4==0. Thus, the sample output is:
1 1 *because the previous x before 2 is 1
2 4 *because 4%4 == 0
7 9... (2 Replies)
Discussion started by: Tzeronone
2 Replies
10. Solaris
Hi Guys,
I am getting some strange error in /var/adm/messages in my Solaris 10 box with Veritas Cluster and EMC storage.
bash-3.00$ cat /var/adm/messages | egrep -v "lw8|snmp|sshd|xntpd|kern.info|LOGIN|link|service|started|finished|repeated|SS7 Log-daemon|success"
Dec 18 09:58:35 GAMMa2... (1 Reply)
Discussion started by: vivek.goel.piet
1 Replies
LEARN ABOUT ULTRIX
pclose
popen(3) Library Functions Manual popen(3)
Name
popen, pclose - initiate I/O to/from a process
Syntax
#include <stdio.h>
FILE *popen(command, type)
char *command, *type;
pclose(stream)
FILE *stream;
Description
The arguments to are pointers to null-terminated strings containing respectively a shell command line and an I/O mode, either "r" for read-
ing or "w" for writing. It creates a pipe between the calling process and the command to be executed. The value returned is a stream
pointer that can be used (as appropriate) to write to the standard input of the command or read from its standard output.
A stream opened by should be closed by which waits for the associated process to terminate and returns the exit status of the command.
Because open files are shared, a type "r" command may be used as an input filter, and a type "w" as an output filter.
Diagnostics
The routine returns a null pointer if files or processes cannot be created, or the shell cannot be accessed.
The routine returns -1 if stream is not associated with a `popened' command.
Restrictions
Buffered reading before opening an input filter may leave the standard input of that filter mispositioned. Similar problems with an output
filter may be forestalled by careful buffer flushing, for instance, with For further information, see
The routine always calls and never calls
See Also
sh(1), pipe(2), wait(2), system(3), fclose(3s), fopen(3s)
popen(3)