N
Nano
Foren As
Hallo zusammen, ich habe foglendes Problem
ich schreibe an einem c programm das einen kind prozess erzeugen soll
( das klappt soweit auch ) dieses kind möchte ich jetzt etwas ausführen lassen z.b eine sqlplus kommandozeile.
Mit meinem eigentlichen programm ( also dem vater ) möchte ich nun befehle an das kind bzw das vom kind ausgeführte programm senden allerdings ist mir nicht klar wie dies realisierbar ist.
kleines beispiel :
Was mir auch noch nicht ganz klar ist warum, beide meldungen ausgegeben werden ? Ich vermute das einmal das orignalprogramm mit 0 läuft und dann mittels fork das 2te mit > 0 gestartet wird ?
Ich wäre für Anregungen und Tips dankbar.
ich schreibe an einem c programm das einen kind prozess erzeugen soll
( das klappt soweit auch ) dieses kind möchte ich jetzt etwas ausführen lassen z.b eine sqlplus kommandozeile.
Mit meinem eigentlichen programm ( also dem vater ) möchte ich nun befehle an das kind bzw das vom kind ausgeführte programm senden allerdings ist mir nicht klar wie dies realisierbar ist.
kleines beispiel :
Code:
int new_process;
new_process = fork();
if (new_process<0) fprintf(stderr, "error beim Aufruf von fork()\n");
// Ab hier wird unterschieden was welcher Prozess macht ?!
if (new_process==0) {
fprintf(stdout, " Child: PID : %d\n", getpid());
fprintf(stdout, " Child: PPID : %d\n", getppid());
system("ls");
}
if (new_process>0) {
fprintf(stdout, " Parent: PID : %d\n", getpid());
fprintf(stdout, " Parent: PPID: %d\n", getppid());
}
Was mir auch noch nicht ganz klar ist warum, beide meldungen ausgegeben werden ? Ich vermute das einmal das orignalprogramm mit 0 läuft und dann mittels fork das 2te mit > 0 gestartet wird ?
Ich wäre für Anregungen und Tips dankbar.