Manasij,
Paul S. Wang mentioned another facility in his Introduction to ANSI C on UNIX (ISBN: 0-534-14232-X) there about page 370.
>> A pipe is a direct (in memory) I/O channel between processes.
>> ...
>> The pipe can be thought of as a first-in-first-out character buffer (Figure 12.3) with
>> a read descriptor pointing to one end and a write descriptor pointing to
>> the other end.
>> To establish a pipe, use the system call
Code:
>> int pipe(int fildes[2])
>> to obtain a buffer and two descriptors...
I believe that the operating system (Linux specifically) will report that there is a pipe (I think it calls it a message queue these days) via the ipcs command. Wang's usage involves using fork to generate multiple processes and applying the pipe so that they may communicate directly. Here is a code fragment which he suggested:
Code:
int fildes[2];
...
pipe(fildes); /* establish message queue with operating system */
if( fork() == 0 )
{
close(fildes[1]); /* child reads fildes[0] */
...
_exit(0);
}
close(filedes[0]); /* parent writes fildes[1] */
He gets more elaborate latter using pairs of pipes so that the children can communicate bi-directionally with the parent process.
Best Regards,