|
| iMatix home page | << | < | > | >> |
SFLVersion 2.11 |
#include "sflproc.h"
int
process_kill (
PROCESS process)
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.
{
#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
}
| | << | < | > | >> |
|