Возникла следующая проблема:
Необходимо перекинуть выходной поток одного процесса другому через pipe желательно.
Вот кусок кода:
close(conn[0]); dup2(conn[1], 1); /* arg[0] = "ls"; arg[1] = "-l"; arg[2] = "-i"; arg[3] = NULL; */ // printf("%s", message); write(1, (void *)message, strlen(message) + 1); // execv("/bin/ls", arg); close(conn[1]); return EXIT_SUCCESS;
Так работает, но стоит только раскомментарить строку // printf("%s", message); как компилятор ругается: Segmentation fault (core dumped)
В конечном итоге необходимо раскомментарить строку // execv("/bin/ls", arg);
Спасибо.