Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Wie funktioniert waitpid?

  1. #1
    Registrierter Benutzer Avatar von roadracer
    Registriert seit
    16.02.2010
    Ort
    Wolfenbüttel
    Beiträge
    48

    Wie funktioniert waitpid?

    Hallo,
    ich brauche eine system()-Funktion, die stdout blockiert. Daher wollte ich sie umgehen und die Systemcalls direkt machen. Die Geschichte mit fork() und execl() ist ja auch ganz einfach, nur ich scheitere an waitpid. Mir ist es nicht klar wie ich das verdammte Ding benutzen soll: waitpid() soll nichts anderes machen als auf einen Prozess mit der PID pid zu warten und mir dann den exit-Status dieses Programmes mitzuteilen.
    Ich hoffe mir kann jemand helfen.

    VG
    OpenSUSE 12.1 x86 KDE 4.7

    Alle Rechtschreibfehler unterliegen der GFDL und dürfen so oder in veränderter Form genutzt und weiter gegeben werden.

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    54
    Probiere mal sowas, oder was ähnliches.
    Ich habe einfach mal Code aus einem Programm abgeändert:
    (dort ging das so...)

    Code:
    int exe_wait_process (int process, int retval)
    {
        pid_t ret;
        int code;
    
        ret = waitpid ((pid_t) process, &code, 0);
        if (ret != ((pid_t) process))
        {
            retval = 0;
            return (FALSE);
        }
        else
        {
            if (WIFEXITED (code))
            {
                retval = (int) WEXITSTATUS (code);
                return (TRUE);
            }
            else
            {
                retval = 0;
                return (FALSE);
            }
        }
    }
    "... der Großteil hier hat einfach keine Lust, jede Pore einer Brotscheibe mit Butter auszuschmieren." - Susu

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •