Загрузка данных


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;
}