version 1.8, 2002/06/09 02:44:13 |
version 1.9, 2002/06/09 04:33:42 |
|
|
{ |
{ |
extern char *__progname; |
extern char *__progname; |
|
|
fprintf(stderr, "Usage: %s [-c core] [-p pid] <program> args\n", __progname); |
fprintf(stderr, "Usage: %s [-c core] [-p pid] <program> args\n", |
|
__progname); |
exit(1); |
exit(1); |
} |
} |
|
|
|
|
core = NULL; |
core = NULL; |
pid = 0; |
pid = 0; |
|
|
while((c = getopt(argc, argv, "c:p:")) != -1) { |
while ((c = getopt(argc, argv, "c:p:")) != -1) { |
switch(c) { |
switch(c) { |
case 'c': |
case 'c': |
core = optarg; |
core = optarg; |
break; |
break; |
case 'p': |
case 'p': |
pid = (pid_t) strtol(optarg, &perr, 10); |
pid = (pid_t) strtol(optarg, &perr, 10); |
if(*perr != '\0') |
if (*perr != '\0') |
errx(1, "invalid PID"); |
errx(1, "invalid PID"); |
break; |
break; |
case '?': |
case '?': |
|
|
ps->ps_flags |= PSF_KILL; |
ps->ps_flags |= PSF_KILL; |
|
|
if (process_kill(ps)) |
if (process_kill(ps)) |
return 1; |
return (1); |
} |
} |
|
|
ps->ps_state = TERMINATED; |
ps->ps_state = TERMINATED; |
return 1; |
return (1); |
} |
} |
|
|
/* |
/* |
|
|
|
|
if (!command) { |
if (!command) { |
/* XXX - can't handle symbols yet. */ |
/* XXX - can't handle symbols yet. */ |
return -1; |
return (-1); |
} |
} |
|
|
start = buf; |
start = buf; |