Как отправить данные из родительского процесса в дочерний процесс и сигнал - PullRequest
0 голосов
/ 06 июня 2019

У меня два процесса запущены параллельно.Я хочу, чтобы родитель отправил ребенку немного символа.Я хочу использовать pipe (), писать от родителя и отправлять сигнал дочернему элементу, затем проверять, отправил ли дочерний сигнал сигнал, и читать символ в дочернем процессе.Как я могу это сделать?

int run() {
    pid_t pid;
    int filds[2];
    pipe(filds);
    char *args[150] = {"./draw.out", NULL}; // child will run executable.
    char buff = '\0';

    if ((pid = fork()) < 0) {  // fork a child process/
        printf("*** ERROR: forking child process failed\n");
        exit(1);
    } else if (pid == 0) {
        execvp(args[0], args); // run program from the child process.
    } else {  // for the parent
            char btnPressed = getch();

            while (btnPressed != 'q'){
            btnPressed = getch(); // gets the char
            write(filds[1],buff, BUFF_SIZE); //write to the pipe.
            // how do i send safe signal to child?
        }

    }
}
...