Announcement

Collapse
No announcement yet.

create process

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • create process

    Hi !

    Wie kann ich einen Process den ich mit create process gestartet habe definitiv beenden ??
    Ich rufe in einem HTTP Server Perl so auf. Manchmal, wenn ein Script fehlerhaft ist
    hängt sich Perl auf.

    Ich möchte in so einem Fall Perl dann explizit beenden - egal wie.

    Ich benutze den c++Bouilder Standart

    Raldus

  • #2
    Fragment aus einer C++-Klasse zur Handhabung von Child-Prozessen

    //--------------------------------------------------------------------
    // @Member Prüfe ob der Child-Prozess noch aktiv ist
    // @Returns bool: true Aktiv false Inaktiv
    //--------------------------------------------------------------------
    bool ProcStarter::IsActive()
    {
    unsigned long ulExitCode;
    bool bRc;

    bRc = GetExitCodeProcess(_hHandle, &ulExitCode);

    return (bRc && ulExitCode == STILL_ACTIVE);
    }

    //--------------------------------------------------------------------
    // @Member Beende den Child-Prozess mit Exitcode (default 1).
    // @Returns int 0 OK sonst Fehler
    //--------------------------------------------------------------------
    int ProcStarter::Terminate
    (
    unsigned long ulExitCode // @Arg gewünschter ExitCode (IN)
    )
    {
    if (IsActive())
    {
    // beende Child-Process mit exit-code
    if (TerminateProcess(_hHandle, ulExitCode))
    {
    return 0;
    }
    }

    // Fehler
    return 1;
    }

    //--------------------------------------------------------------------
    // @Member Liefere ExitCode.
    // @Returns unsigned long Exitcode
    //--------------------------------------------------------------------
    unsigned long ProcStarter::GetExitCode()
    {
    unsigned long ulExitCode;

    // hole ExitCode
    GetExitCodeProcess(_hHandle, &ulExitCode);

    return ulExitCode;

    Comment


    • #3
      Danke !

      Comment

      Working...
      X