All pastes #775927 Raw Edit

Something

public text v1 · immutable
·published 2007-11-15 19:57 UTC
rendered paste body
#include <sys/types.h>		/* Für Type pid_t  */
#include <sys/wait.h>		/* für wait() */
#include <unistd.h>			/* für fork()  und exec()  */
#include <stdio.h>			/*Bibliothek für Ein-/Ausgabe  */
#include <stdlib.h>			/* Standartbibliothek */

int main(int args, char ** argv) {
	pid_t child_pid; 		/* Pozessnummer des Kindprozsses */
	int status;				/* Für das Abfragen des Exitstatus des Kindprozesses */
	int a = 0;			/* Zähler für fork() Aufrufe */

	/* Duplizieren des des Prozesses */
	child_pid = fork();

	/* Verzweigung für die verschiedenen Prozesse */
	if (child_pid == -1) {
		/* Hier nur bei Fehler von fork() */
		perror("Error in the fork");

		exit(1);
	} else if (child_pid == 0)	/* Zweig für den Kindprozess */
	{
		while (a < 10) {
			printf("Ich bin der %i . Childprozess.\n", a);
			a++;
		}
	}
	else	/* Zweig für den Elternprozess */
	{
		if (child_pid != wait(&status))	/* Warte auf Exitstatus des Kindprozesses */
		{
			/* Hier nur bei Fehler beim Beenden des Kindprozess */
			perror("A signal occurred before the child exited");
		}
	}

	exit(0);
}