A P.I.P.S. process can terminate another P.I.P.S process by sending a SIGKILL or
a SIGTERM signal to it using kill() or sigqueue().
SIGKILL terminates a process without any notification.
Typically it used by a parent process to manage its children, or by a system
utility to terminate other applications.
Note: Your process must have the PowerMangement capability to send a SIGKILL signal to another process.
SIGTERM is a request for termination. The receiving
process can choose to shutdown gracefully or ignore the request. The following
example code demonstrates how you can handle a SIGTERM signal
and shutdown a process:
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
void sighandler(int signum)
{
if(signum == SIGTERM)
{
// Perform clean up
exit(-1);
}
else
printf(“Error: Unknown signal”);
}
int main()
{
signal(SIGTERM,sighandler); // When SIGTERM arrives, invoke sighandler()
// program logic
return 0;
}