29 lines
591 B
C
29 lines
591 B
C
#include "kernel/include/param.h"
|
|
#include "kernel/include/types.h"
|
|
#include "kernel/include/stat.h"
|
|
#include "xv6-user/user.h"
|
|
|
|
int
|
|
main(int argc, char *argv[])
|
|
{
|
|
int i;
|
|
char *nargv[MAXARG];
|
|
|
|
if(argc < 3 /*|| (argv[1][0] < '0' || argv[1][0] > '9')*/){
|
|
fprintf(2, "usage: %s MASK COMMAND\n", argv[0]);
|
|
exit(1);
|
|
}
|
|
|
|
if (trace(atoi(argv[1])) < 0) {
|
|
fprintf(2, "%s: strace failed\n", argv[0]);
|
|
exit(1);
|
|
}
|
|
|
|
for(i = 2; i < argc && i < MAXARG; i++){
|
|
nargv[i-2] = argv[i];
|
|
}
|
|
exec(nargv[0], nargv);
|
|
printf("strace: exec %s fail\n", nargv[0]);
|
|
exit(0);
|
|
}
|