Article View: de.comp.lang.c++
Article #1016Re: Neuen Prozess starten und weiterlaufen?
From: Joerg Koenig
Date: Fri, 15 Dec 1995 09:26
Date: Fri, 15 Dec 1995 09:26
53 lines
1824 bytes
1824 bytes
In article <4ambqh$5eh@trumpet.uni-mannheim.de>, vogt@pi1.uni-mannheim.de (Torsten Vogt) says:
>#include <stdlib.h>
>#include <unistd.h>
>#include <stdio.h>
>
>int main(int ac, char *av[]) {
>
> int STDIN = stdin->_file;
> int STDOUT = stdout->_file;
int STDIN = fileno( stdin ) ; /* ist um Klassen portabler */
Ueberhaupt werden die beiden Variablen nicht gebraucht. Sie machen das
Beispiel unnoetig unuebersichtlich.
>
> int i,rtc,fd[2],pid,n;
> char ttyn1[80];
> char *tav[20];
>
> rtc=pipe(fd); /* Pipe zur IPK anlegen */
>
> if ((pid=fork()) != 0) {
> /* Elternprozess */
Elternprozess ja, aber wenn fork() einen Fehler zurueckliefert sollte man
nicht so tun als waere alles in Ordnung...
>
> close(STDOUT); STDOUT=dup(fd[0]); /* STDIN u. STDOUT */
> close(STDIN); STDIN=dup(fd[1]); /* umbiegen */
> close(fd[0]); close(fd[1]);
>
> /* Pipe in beide Richtungen testen */
> printf("Die Pipe funktioniert in Richtung: Parent -> Child \n"); fflush(stdo
>ut);
> fgets(ttyn1,80,stdin);
> fprintf(stderr,"%s",ttyn1);
>
> wait(&pid); /* Auf Termination von Child warten */
>
> fprintf(stderr,"Parent und Child beendet!\n");
> }
> else {
> /* Kindprozess */
Ausserdem - was hat das ganze mit C++ zu tun ?!
>Gruss Torsten
>
Joerg
Technical Details
Message-ID:
<4arf08$pm2@alpha.adg.de>Path:
arc1-ca.pugleaf.net!alpha.adg.de!usenetReferences:
<4ambqh$5eh@trumpet.uni-mannheim.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!alpha.adg.de!usenet From: Joerg.Koenig@adg.de (Joerg Koenig) Newsgroups: de.comp.lang.c++ Subject: Re: Neuen Prozess starten und weiterlaufen? Date: 15 Dec 1995 09:26:32 GMT Organization: Apotheken Dienstleistungs Gesellschaft mbH Message-ID: <4arf08$pm2@alpha.adg.de> References: <4ambqh$5eh@trumpet.uni-mannheim.de> NNTP-Posting-Host: rincewind.adg.de X-Newsreader: WinVN 0.92.6+