Sponsored Content
Top Forums Programming IPC between processes, pipes, etc Post 302425184 by oskis on Thursday 27th of May 2010 09:43:19 AM
Old 05-27-2010
IPC between processes, pipes, etc

I need help with understanding this in C-programming style(the systemcalls only):
Three processes communicates via two pipes. (when the processes creates all stdin is the keyboard and all stdout is the screen)

This is how the communication goes:
Process 2 stdin (keyboard) and stdout goes via pipe2, this then becomes process 3:s stdin, and process 3:s stdout goes through pipe1, and then becomes Process 1:s stdin, Process 1:s stdout goes to the screen.

What is the system calls from each process(1, 2, 3)?
for example:
close(0);
dup(pipe2[0]);
etc,

(Donīt need to make a close where the need comes from the processes relationships)

Please help out! I just want the correct systemcalls, with the correct pipe and read or write end, so I get this finally :-)
 

10 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

PIPEs and Named PIPEs (FIFO) Buffer size

Hello! How I can increase or decrease predefined pipe buffer size? System FreeBSD 4.9 and RedHat Linux 9.0 Thanks! (1 Reply)
Discussion started by: Jus
1 Replies

2. UNIX for Dummies Questions & Answers

Ipc

I have a parent that is passing data to child A and then child A has to process it and pass to child B. I am able to pass the data to child A but am not able to pass it to child B. Child B seems to only be receiving the last data instead of the whole data. I saw one example in a book but it uses... (1 Reply)
Discussion started by: scmay
1 Replies

3. UNIX for Advanced & Expert Users

Monitoring Processes - Killing hung processes

Is there a way to monitor certain processes and if they hang too long to kill them, but certain scripts which are expected to take a long time to let them go? Thank you Richard (4 Replies)
Discussion started by: ukndoit
4 Replies

4. Solaris

Identifying and grouping OS processes and APP processes

Hi Is there an easy way to identify and group currently running processes into OS processes and APP processes. Not all applications are installed as packages. Any free tools or scripts to do this? Many thanks. (2 Replies)
Discussion started by: wilsonee
2 Replies

5. Solaris

errors on Netra-440: "IPC Warning: ipc: tcp_protocol: bad magic number"

I was asked to look into a problem with a Sun Netra 440 in another department. On the server in question, the relevant 'uname -a' information is, "SunOS host1 5.9 Generic_118558-16 sun4u sparc SUNW,Netra-440". That information aside, while the other admin is logged into the ALOM, these errors are... (0 Replies)
Discussion started by: Borealis
0 Replies

6. Programming

IPC - pipes between parent and child process

Hi guys, I'm having some problem here, I'm studying pipes, and i want to create a shell in C and at this point a don't want to use semaphores, instead I want to use tricks. Straight to the doubt: I've a parent and a child process, and both of them has some code to execute, and the child process... (5 Replies)
Discussion started by: pharaoh
5 Replies

7. UNIX for Dummies Questions & Answers

Mach IPC

hey everyone, I'm reading a tutorial on the Mach kernel principles, however, the port and port rights part are kind of confusing to me. I don't know if the book has typos or something but it seems a bit contradictory. It says that "ports, themselves, are not named. It is the port rights that are"... (10 Replies)
Discussion started by: neur0n
10 Replies

8. Programming

Pipes connecting 3 processes in a "circle"

I am trying to get a better understanding of pipes and processes. I have code in which I link 3 processes A,B,C. I have A->B->C but how would I go about getting C->A? Here is my code: #include <stdio.h> #include <stdlib.h> #include <unistd.h> main() { pid_t A, B, C; int fd; int fd2; ... (1 Reply)
Discussion started by: tfarmer4
1 Replies

9. Programming

please help a problem in client-server ipc message 2 pipes communication simple example

I want to have a message send & receive through 2 half-duplex pipes Flow of data top half pipe stdin--->parent(client) fd1--->pipe1-->child(server) fd1 bottom half pipe child(server) fd2---->pipe2--->parent(client) fd2--->stdout I need to have boundary structed message... (1 Reply)
Discussion started by: ouou
1 Replies

10. Programming

How to properly connect these three processes using pipes?

I'm trying to properly connect three processes in order to allow inter-process communication between them. I have one process, scanner, which takes the parent's STDIN and then processes the words within the stream. If a word length is odd, it sends it to one process, if it is even, it sends it... (7 Replies)
Discussion started by: thomascirca
7 Replies
vodovod(6)							       Games								vodovod(6)

NAME
vodovod - lead the water from the house to the storage tank SYNOPSIS
vodovod DESCRIPTION
Vodovod is a free game, released under GNU GPL license. Graphics and programming are done by Milan Babuskov. This is an over-weekend project for now, so don't expect miracles. However, game is completely playable. The goal of the game is to reach the highest possible score. You get a limited number of pipes on each level and need to combine them to lead the water from the house at the top of the screen to the storage tank at the bottom. For each pipe water goes through, you get 20 points and if you fill the cross-pipe both ways, you get 60 points. At end of each level, you are awarded depending on the skill level: * Beginner: 100 points * Toolman: 100 points + number of pipes remaining * Master plumber: 100 points + 2 x number of pipes remaining Some of the levels have obstacles where you cannot place pipes, checkpoints through which the water must go and holes in the ground that slow the flow. Select HELP from the main menu to get more info. The game is playable with joystick/joypad: just move it and press buttons when you go to Options -> Configure controls USAGE
The goal of the game is to use pipes to connect the house at the top of the screen with the tank at the bottom. You have time to construct the initial pipeline before the man enters the house. For each level you get a limited number of pipes, so use them wisely. If you make a mistake, you can place another pipe over it. There are certain special blocks in the map: * Blocked Area - You cannot place pipes on these fields. * Checkpoint - Your pipeline must go through this field. * Hole in the ground - Slows down the flow. SEE ALSO
You can find more information at http://home.gna.org/vodovod/ May 2007 vodovod(6)
All times are GMT -4. The time now is 04:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy