if (argc != 6)
{
printf("Ошибка параметров\n");
return 1;
}
pid1 = fork();
if (pid1 == 0)
{
execlp(argv[1], argv[1], argv[2], NULL);
exit(1);
}
if (argv[5][0] == 's')
waitpid(pid1, &s1, 0);
pid2 = fork();
if (pid2 == 0)
{
execlp(argv[3], argv[3], argv[4], NULL);
exit(1);
}
waitpid(pid2, &s2, 0);
if (argv[5][0] == 'p')
waitpid(pid1, &s1, 0);
if (WIFEXITED(s1))
printf("Первый: exit(%d)\n", WEXITSTATUS(s1));
else if (WIFSIGNALED(s1))
printf("Первый: сигнал %d\n", WTERMSIG(s1));
if (WIFEXITED(s2))
printf("Второй: exit(%d)\n", WEXITSTATUS(s2));
else if (WIFSIGNALED(s2))
printf("Второй: сигнал %d\n", WTERMSIG(s2));
return 0;
}