#include #include extern int _threaddebuglevel; void doexec(void *v) { char **argv = v; procexec(nil, argv[0], argv); sendp(threadwaitchan(), nil); } void threadmain(int argc, char **argv) { Channel *c; Waitmsg *w; ARGBEGIN{ case 'D': _threaddebuglevel = ~0; break; }ARGEND c = threadwaitchan(); proccreate(doexec, argv, 8192); w = recvp(c); if(w == nil) print("exec failed\n"); else print("%d %lu %lu %lu %s\n", w->pid, w->time[0], w->time[1], w->time[2], w->msg); threadexits(nil); }