Forum: Linux-Unix Programmierung
Moderatoren: juergen, Martin ConradThema: Mit 2 Prozessen auf Variabel oder Struct zugreifen
Mit 2 Prozessen auf Variabel oder Struct zugreifen
Haniball am 03.10.2010 um 12:24
ich möchte eine art Statusvariable erstellen und diese mit 2 Prozessen verändern können. Also 2 Programme (eines als lesender Teil und eines als schreibender Teil) sollen auf eine Variable oder Struct zugreifen können. Wie kann man dies unter Linux realisieren?
Danke schonmal für die Hilfe und Grüße,
Hanbiball
Re: Mit 2 Prozessen auf Variabel oder Struct zugreifen
broesel (webmaster) am 03.10.2010 um 12:34
Zitat:
Wie kann man dies unter Linux realisieren?
Eine Statusvariable erstellen und danach mit fork() zwei Prozesse erzeugen:
#include <unistd.h>
int main(void)
{
int pid, state;
switch(pid = fork()) {
case -1: /* error */ break;
case 0: /* child process */ break;
default: /* parent process */ break;
}
return 0;
}
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
Re: Mit 2 Prozessen auf Variabel oder Struct zugreifen
Haniball am 03.10.2010 um 12:58
nur habe ich dies leider nicht so ganz verstanden. Wir forken und erzeugen einen Kindprozess. Wie manipuliere ich Status, sodass es von einem anderen Prozess ausgelesen wird. Konkret möchte ich Fifo-Pipe nutzen Ausgaben zu tätigen. Den Inhalt formuliere ich in einem anderen Prozess. Dort wird nach jeder Eingabe gefragt, ob man eine weitere tätigen möchte. Wenn nicht, dann wird im anderen Prozess/Programm das Pipe geschlossen und der Prozess beendet.
Grüße,
Haniball
Re: Mit 2 Prozessen auf Variabel oder Struct zugreifen
broesel (webmaster) am 03.10.2010 um 13:08
Zitat:
Wir forken und erzeugen einen Kindprozess. Wie manipuliere ich Status, sodass es von einem anderen Prozess ausgelesen wird.
Der Kindprozess ist der andere Prozess. Wenn Deine beiden Prozesse unabhängig voneinander existieren können sollen, hättest Du das erwähnen müssen. In diesem Fall kannst Du nämlich nicht auf Variablen in anderen Prozessen zugreifen. Du müsstest irgendeine Kommunikation zwischen den Prozessen etablieren und über eine Art Protokoll Werte abfragen und ggf. übermitteln.
Was sind das denn für zwei ominöse Prozesse, was machen sie konkret, und warum genau müssen sie miteinander kommunizieren?
Gruss,
Philip
--
The C Programming Quiz
- bitte Fragen einreichen :)
Re: Mit 2 Prozessen auf Variabel oder Struct zugreifen
Haniball am 03.10.2010 um 13:17
der erste Prozess, nennen wir ihn Pipewrite erzeugt ein Fifo-Pipe, fordert den Benutzer zu einer Eingabe ein und schreibt die Eingabe in das Pipe.
der zweite Prozess, nennen wir ihn Piperead gibt, sobald etwas in der Pipe steht auf der Konsole aus.
der Pipewrite fragt nun, ob der Benutzer eine weitere Eingabe tätigen möchte. Wenn nicht, dann soll dieses Piperead mitgeteilt werden um das Pipe zu schliessen und selbst zu terminieren. Dazu muss ich irgendwie einen Status austauschen.
Grüße,
Haniball
