| iMatix home page
| << | < | > | >>
SFL Logo SFL
Version 2.11

 

process_kill

#include "sflproc.h"
int
process_kill (
    PROCESS process)

Synopsis

Ends a process specified by a process id. The current process must have the appropriate authority to stop the specified process. Returns zero if the process was killed, -1 if there was an error.

Source Code - (sflproc.c)

{
#if (defined (__UNIX__) || defined (__OS2__))
    int count = 5;

    ASSERT (process);

    /*  First give it a chance to gracefully exit...                         */
    kill (process, SIGTERM);
    while (process status (process) == PROCESS_RUNNING && count--)
        sleep (1);

    /*  Then get brutal if neccessary.                                       */
    if (process status (process) == PROCESS_RUNNING)
      {
        kill (process, SIGKILL);
        while (process status (process) == PROCESS_RUNNING)
            sleep (1);
      }
    return (0);

#elif (defined (WIN32))
    ASSERT (process);

    TerminateProcess (process-> process, 1);
    while (process status (process) == PROCESS_RUNNING)
        Sleep (100);

    process close (process);
    return (0);

#elif (defined (__VMS__))
    ASSERT (process);

    sys$delprc (process-> id);
    process close (process);
    return (0);

#else
    return (-1);                        /*  Not supported on this system     */
#endif
}

| << | < | > | >> iMatix Copyright © 1996-2000 iMatix Corporation