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; }