#include #include #include #include #include #include extern const char *__progname; int main(int, char **); int main(int ac, char **av) { int i; int errs; int nleft; int npids; int *pids; long int val; char *avp; pids = malloc(ac*sizeof(int)); npids = 0; errs = 0; for (ac--,av++;ac;ac--,av++) { val = strtol(*av,&avp,0); if ((avp == *av) || *avp) { fprintf(stderr,"%s: bad number `%s'\n",__progname,*av); errs ++; } else if ((val <= 0) || (val > 30000)) { fprintf(stderr,"%s: illegal PID %ld\n",__progname,val); errs ++; } else { pids[npids++] = val; } } if (errs) { exit(1); } while (1) { nleft = 0; for (i=0;i