Спасибо за все, что отписали ниже, но попробовал я часть Ваших советов и не вышло (конечно сам виноват: надо было еще там кое-что уточнить).
Так вот popen не подходит: он запускает bash (shell переставлять на другой (ash, zsh) не надо). У меня загрузка - 100 процессов. Если еще там добавятся bash по 300Кб, то машина и так тормозившая совсем сойдет с ума ;-(
Также советы не подходят, если при работе программы она все равно пишет в терминал.
Очень хотелось бы, чтобы потоки шли в 2 буффера. Неужели нельзя ничего сделать ? У меня все получилось, но как - не помню. (По моему работал над setvbuf, fopen и fread).
Да вот кусок моей программы для прояснений:
...
pidd=fork();
if (pidd==0)
{
execve("./main", NULL);
}
// Здесь должен быть перехватчик выводов stderr, stdout в 2 буфера
...

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.