05-14-2008
The process needs to read() data off the pipe in order to clear it otherwise it blocks and stays in the pipe. Invoke read() after exec'ing program B in the child process.
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:
---------... (1 Reply)
Discussion started by: vvaidyan
1 Replies
2. 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
3. Shell Programming and Scripting
Hello,
I have a script that monitors files uploaded via ftp. After a successful upload, the file name is written to the pipe.
There is another program that reads this pipe and allows automatically run any program or script ( say test.sh ) to process the newly uploaded file.
cat test.sh... (2 Replies)
Discussion started by: fed.linuxgossip
2 Replies
4. UNIX for Dummies Questions & Answers
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:
---------... (3 Replies)
Discussion started by: vvaidyan
3 Replies
5. UNIX for Advanced & Expert Users
I have the following code which works on AIX 4.3 but fails at times on AIX 5.3
with:
cat: 0652-054 cannot write to output. There is no process to read data written to a pipe.
validator="${validator_exe} ${validator_parms}"
cmd_line="${CAT} ${data_file} | ${validator}... (6 Replies)
Discussion started by: vigsgb
6 Replies
6. AIX
Hi Everyone,
The machine I'm working on is an AIX 5.3 LPAR running on a P650. oslevel -r shows 5300-08. I'm trying to take a backup to a SCSI tape drive, which has been working up until this point. I know of nothing that has changed recently to cause this problem. But when I try to take a... (0 Replies)
Discussion started by: need2bageek
0 Replies
7. UNIX for Dummies Questions & Answers
We use SAP application cluster on AIX. Communication between 2 of its instances is failing randomly with the following error:
java.net.SocketException: There is no process to read data written to a pipe.
The above error causes a cluster restart if an important communication fails.
Can... (0 Replies)
Discussion started by: RoshniMehta
0 Replies
8. Programming
Hi,
Hopefully someone can help.
We have a process that writes a file using Connect Direct to our local Solaris server and then our C++ program will pick up the file and process it. Unfortunately, because of the size of the file, the C++ program is processing the file before it has finished... (7 Replies)
Discussion started by: chris01010
7 Replies
9. Programming
Subject: Debugging a program written in two languages
Platform: Linux (Kubuntu)
I am trying to debug a C application with bindings to some simple functions written in Ada using the GNAT Programming Studio IDE (GPS). The main entry point is in C. The debugger is gdb.
I managed to compile... (0 Replies)
Discussion started by: NiGHTS
0 Replies
10. Programming
Hello friends! i am writing a code in which i take inputs (numbers) from user and count the total number of positive, negative and zeros entered. I need to clear my standard input buffer before scanf() command. My compiler is completely ignoring the fflush(stdin) command. its not even showing any... (1 Reply)
Discussion started by: Abhishek_kumar
1 Replies
LEARN ABOUT DEBIAN
tau_profile_set_node
TAU_PROFILE_SET_NODE(3) TAU Instrumentation API TAU_PROFILE_SET_NODE(3)
NAME
TAU_PROFILE_SET_NODE - Informs the measurement system of the node id
SYNOPSIS
C/C++:
TAU_PROFILE_SET_NODE(int node);
Fortran:
TAU_PROFILE_SET_NODE(integer node);
DESCRIPTION
The TAU_PROFILE_SET_NODE macro sets the node identifier of the executing task for profiling and tracing. Tasks are identified using node,
context and thread ids. The profile data files generated will accordingly be named profile.<node>.<context>.<thread>. Note that it is not
necessary to call TAU_PROFILE_SET_NODE when using the TAU MPI wrapper library.
EXAMPLE
C/C++ :
int main (int argc, char **argv) {
int ret, i;
pthread_attr_t attr;
pthread_t tid;
TAU_PROFILE_TIMER(tautimer,"main()", "int (int, char **)",
TAU_DEFAULT);
TAU_PROFILE_START(tautimer);
TAU_PROFILE_INIT(argc, argv);
TAU_PROFILE_SET_NODE(0);
/* ... */
TAU_PROFILE_STOP(tautimer);
return 0;
}
Fortran :
PROGRAM SUM_OF_CUBES
integer profiler(2) / 0, 0 /
save profiler
INTEGER :: H, T, U
call TAU_PROFILE_INIT()
call TAU_PROFILE_TIMER(profiler, 'PROGRAM SUM_OF_CUBES')
call TAU_PROFILE_START(profiler)
call TAU_PROFILE_SET_NODE(0)
! This program prints all 3-digit numbers that
! equal the sum of the cubes of their digits.
DO H = 1, 9
DO T = 0, 9
DO U = 0, 9
IF (100*H + 10*T + U == H**3 + T**3 + U**3) THEN
PRINT "(3I1)", H, T, U
ENDIF
END DO
END DO
END DO
call TAU_PROFILE_STOP(profiler)
END PROGRAM SUM_OF_CUBES
SEE ALSO
TAU_PROFILE_SET_CONTEXT(3)
08/31/2005 TAU_PROFILE_SET_NODE(3)