Задать вопрос
  • Как развиватся в сфере Embedded Developer?

    @Otani Автор вопроса
    У меня есть еще дев.борд от TI - Tiva C на Cortex M4F, но как-то туго даётся он.
    А на счет смены профиль - на какой из будет менее болезненно перейти?
  • Как сделать дублирование вывода в файл?

    @Otani Автор вопроса
    Алексей Черемисин: сделал по примеру, выводит только на консоль. Попробовал следующим образом, но без успешно:
    fdout=open("1", O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
    fderr=open("2",O_APPEND | O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
    ...
    case 0:
    if (isReader!=-1) {
    close(0);
    dup(oldChannelOut);
    }
    dup2(fdout, 1);
    dup2(fderr, 2);
    close(fdout);
    close(fderr);
    default:
    {
    default:
    {

    if(background) {
    addJob(&jobListStartB,childId,commandArgv,BACKGROUND);
    if (oldChannelOut != -1){
    close(oldChannelOut);
    oldChannelOut = -1;
    }
    }
    else if(!background){
    if (oldChannelOut != -1){

    close(oldChannelOut);
    oldChannelOut = -1;
    }
    }
  • Как сделать дублирование вывода в файл?

    @Otani Автор вопроса
    У меня для дочернего процесса, вывод сделан следующим образом:
    int pipefd[2];
    ...
    pid_t childId = fork();
    case 0:
    trap_signal(SIGTTOU, SIG_DFL);
    trap_signal(SIGTTIN, SIG_DFL);
    trap_signal(SIGCHLD, SIG_DFL);
    if(!background && !convey)
    tcsetpgrp(cterm, getpid());
    setpgid(0, 0);
    if (isWriter) close(pipefd[0]);
    if (isReader!=-1) {
    close(0);
    dup(oldChannelOut);
    }

    if(isWriter){
    close(1);
    dup(pipefd[1]);
    }

    Как применить tee в данном случае?