Child Prozess killen

Dieses Thema im Forum "C/C++" wurde erstellt von Renn25, 20.11.2005.

  1. Renn25

    Renn25 Mitglied

    Dabei seit:
    26.10.2005
    Beiträge:
    41
    Zustimmungen:
    0
    Hallo!

    Mal wieder ein Problem. Ich poste gleich ma den Quellcode hier.


    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <iostream>
    using namespace std;

    // globale Variablen
    int i = 10;
    int status;
    char x;
    //int terminated;

    int main ()
    {
    // lokale Variablen
    pid_t pid;

    cout <<"Beispiel zum Aufruf von fork()" <<endl;

    // einen neuen Prozess erzeugen
    pid = fork ();
    cout <<"\nKind-PID= " <<getpid() <<" Eltern-PID= " <<getppid();

    cout <<"\n";

    switch (pid)
    {
    // Fehlerfall
    case -1:
    fprintf (stderr, "Fehler beim Aufruf von fork().\n");
    exit(0);

    // Kindprozess
    case 0:
    cout <<"Child-Prozess startet eine Shell." <<endl;
    execl("/bin/bash" , "Shell" , x,NULL);
    exit(1);


    // Vaterprozess bzw. pid > 0
    default:
    pid=wait(&status);
    if(WIFEXITED(status))
    { cout <<"\nChild normal beendet...\n";
    cout <<"Exit-Code: " <<WEXITSTATUS(status) <<endl;
    }
    else if (WIFSIGNALED(status))
    { cout <<"\nChild beendet über ein Signal...\n";
    cout <<"Signalnummer: " <<WTERMSIG(status) <<endl;
    }
    exit(2);
    }
    }

    Das Problem ist, der Child-Prozess soll eine Shell aufrufen (macht er auch laut Prozesstabelle), nur leider läst diese sich nicht über die PID killen. Ich kann die gestartete Shell nur über "exit" wieder verlassen bzw. wenn ich den Parant kille. Woran könnte das liegen? :think:

    Schonma Danke für eure Mühe!!

    gruss
    Renn
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 oxcinsha, 04.12.2005
    oxcinsha

    oxcinsha Mitglied

    Dabei seit:
    25.08.2005
    Beiträge:
    44
    Zustimmungen:
    0
    ...moechte mich selbst weiterentwickeln, also falls meine Meldungen unqualifiziert bis ueberfluessig sind bitte direkt sagen...


    ...


    Warum versuchst du es nicht mit einem
    Code:
    int kill ( pid , 9 )
    ...vielleicht helfen
    Code:
    man 2 kill
    man 7 signal
    waer schoen wenn...:think:
     
Thema:

Child Prozess killen

Die Seite wird geladen...

Child Prozess killen - Ähnliche Themen

  1. Variable aus Child-Prozess "Re-exportieren"

    Variable aus Child-Prozess "Re-exportieren": Gibts ne Möglichkeit, wie ich eine in einem Child Prozess erstelle Variable zurückbringe in den Mutterprozess? Ich möchte aus einer Schleife...
  2. Daten über Pipe am Childprozess in Empfang nehmen

    Daten über Pipe am Childprozess in Empfang nehmen: Hallo, Habe mir gerade eine kurze Einführung nach C++ durchgelesen und gemerkt, dass ich aus Zeitgründen auf das eigenständige Lösen dieses...
  3. »One Laptop per Child« zeigt erstes XO-Tablet

    »One Laptop per Child« zeigt erstes XO-Tablet: Die One Laptop Per Child Association (OLPCA) hat auf der CES ein Android-Tablet vorgestellt, das mit dem Lernsystem »XO Learning« der OLPCA...
  4. Auf Child warten das nicht beendet wird ?

    Auf Child warten das nicht beendet wird ?: Hallo zusammen, nach dem das alte Problem gelöst ist.... ;( Mein Childprozess sieht folgendermassen aus dup2(commpipe[0],0); //input = output...
  5. preg_match() liefert httpd_error: child pid 4736 exit signal Segmentation fault (11)

    preg_match() liefert httpd_error: child pid 4736 exit signal Segmentation fault (11): Hallo, ich habe einen kleinen Parser in PHP5.2.1 unter Apache 2.2.4 geschrieben, der folgendes Muster in einer LaTeX Datei sucht: $line =...