2 * $Id: execwait.c,v 1.2 2001/10/21 20:32:03 cwolf Exp $
11 * Execute a command and wait for it's completion.
13 * @author Matthijs Laan
15 int main(int argc
, char **argv
)
18 PROCESS_INFORMATION pi
;
26 (void)fprintf(stderr
, "Usage: execandwait commands\n");
31 cmdline
= (char *)malloc(strlen(argv
[1]) + 1),
35 (void)strcat(cmdline
, argv
[i
]);
36 (void)strcat(cmdline
, " ");
38 argend
= strlen(cmdline
);
42 cmdline
= (char *)realloc(cmdline
,
43 strlen(cmdline
) + strlen(argv
[i
+1]) + 1);
44 *(cmdline
+ argend
) = '\0'; // restore null terminator
48 memset(&si
, 0, sizeof(si
));
51 if(!CreateProcess(NULL
, cmdline
, NULL
, NULL
, FALSE
, 0, NULL
, NULL
, &si
, &pi
))
53 (void)fprintf(stderr
, "CreateProcess failed\n");
57 WaitForSingleObject(pi
.hProcess
, INFINITE
);