blob: 34927848eedb0e30d495584ca09d2f7e6fde6420 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
int f1 = fork();
int f2 = fork();
if (f1 == 0) {
execlp(argv[1], argv[1], (char*)NULL);
}
else if (f2 == 0) {
execlp(argv[2], argv[2], (char*)NULL);
}
else {
int firstStatus, secondStatus;
int firstEnded = wait(&firstStatus);
int secondEnded = wait(&secondStatus);
printf("%s %d\n", argv[1 + (firstEnded != f1)], firstStatus);
printf("%s %d\n", argv[1 + (secondEnded != f1)], secondStatus);
}
}
|