Home | History | Annotate | Download | only in toolbox
      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 #include <errno.h>
      4 
      5 #include <sys/types.h>
      6 #include <signal.h>
      7 
      8 int kill_main(int argc, char **argv)
      9 {
     10     int sig = SIGTERM;
     11     int result = 0;
     12 
     13     argc--;
     14     argv++;
     15 
     16     if(argc >= 2 && argv[0][0] == '-'){
     17         sig = atoi(argv[0] + 1);
     18         argc--;
     19         argv++;
     20     }
     21 
     22     while(argc > 0){
     23         int pid = atoi(argv[0]);
     24         int err = kill(pid, sig);
     25         if (err < 0) {
     26             result = err;
     27             fprintf(stderr, "could not kill pid %d: %s\n", pid, strerror(errno));
     28         }
     29 
     30         argc--;
     31         argv++;
     32     }
     33 
     34     return result;
     35 }
     36