clone -> wait

Dieses Thema im Forum "C/C++" wurde erstellt von sanitotte, 23.03.2006.

  1. #1 sanitotte, 23.03.2006
    sanitotte

    sanitotte Grünschnabel

    Dabei seit:
    16.01.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo zusammen,

    um mit dem Systemaufrufen clone() und wait() ein wenig vertraut zu werden habe ich ein kleines Programm geschrieben, daß einen Clone erzeugt, anschließend auf dessen Abarbeitung warten soll und sich dann beendet.

    Allerdings bekomme ich von wait() immer die Fehlermeldung ECHILD zurück.

    Hat jemand eine Ahnung warum?

    Ich poste hier mal den Source:

    Code:
    #include <float.h> 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h> 
    
    
    #include <time.h>                   /* for output of time: printf(ctime....); */ 
    #include <sched.h>                  /* for priorities and clone               */ 
    #include <signal.h>                 /* for signals                            */ 
    #include <sys/time.h>               /* for timer                              */ 
    #include <asm/msr.h>                /* for time measuring with the Intel TSC  */ 
    #ifndef __USE_GNU                   /* for Mutex                              */ 
    #define __USE_GNU 
    #endif 
    #include <pthread.h>                /* for threads                            */ 
    #include <unistd.h>                 /* for usleep                             */ 
    
    
    #include <sys/types.h>                 /*used for clone wait */ 
    #include <sys/wait.h>                 /*used for wait */ 
    #include <errno.h>                    /*used for errno */ 
    
    int clone_test(void *arg) 
    { 
      //Nummer des Clones ermitteln 
      int nr = (int)arg; 
    
      printf("\nTest: Ich bin der Clone Nummer %x!\n\n", nr); 
    
      int i,j; 
      //ca. 5s verzögerung 
      for (i = 0; i < 50000; i++) 
      { 
        for (j = 0; j < 120000; j++) 
        { 
          int z; 
          z = i * j; 
        } 
      //LifeSign ca. jede Sek. 
        if (i % 10000 == 0) printf("Clone-Lifesign!\n"); 
      } 
    
    
      printf("\nTest: Ich war der Clone Nummer %x!\n\n", nr); 
    //  return(1); 
      exit(0); 
    } 
    
    
    
    
    int main(/*int argc, char* argv[]*/) 
    { 
      printf("\nTest: Ich bin der Original-Process!\n\n"); 
    
      void* stack1[4000]; 
    
      //Clone aktivieren 
      int clonepid = clone(clone_test, stack1+4000, CLONE_VM, (void*)1); 
    
      printf("Clone hat die PID: %i\n", clonepid); 
    
      int status; 
      int x = wait(&status); printf("X: %i\n",x); 
    
      perror("clone:"); 
    
      printf("\nTest: Ich war der Original-Process!\n\n"); 
      return(1); 
    } 
    
     
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

clone -> wait

Die Seite wird geladen...

clone -> wait - Ähnliche Themen

  1. Backup Alternative zu CloneZilla

    Backup Alternative zu CloneZilla: Moin, bin im Moment auf der Suche nach ner verlässlichen alternative für vollständige Plattenbackups. Leider meldet clonezilla immer wieder...
  2. Kann Image mit Clonezilla nicht restoren

    Kann Image mit Clonezilla nicht restoren: Hallo, ich habe mir die aktuelle Version von Clonezilla (amd64) gezogen und von USB gestartet. Ich wollte einn Image einer Festplatte...
  3. Kurztipp: Clonezilla: Festplatten per Klick kopieren

    Kurztipp: Clonezilla: Festplatten per Klick kopieren: Auf der bisherigen Festplatte ist kein Platz mehr, und der Inhalt soll auf eine neue Platte umziehen. Bei dieser Aufgabe und bei der...
  4. Clonezilla mount cifs schlägt fehl

    Clonezilla mount cifs schlägt fehl: Hallo liebe Gemeinde, ich verzweifle gerade hier an einem Problem. Ich nutze Clonezilla um Images von und auf PCs zu schieben. Nachdem der USB...
  5. Clonezilla Live 2.1.2

    Clonezilla Live 2.1.2: Die Entwickler der beliebten Live-CD zum Kopieren und Sichern von Festplatten-Images, Clonezilla, haben eine neue stabile Version 2.1.2-20 mit...