У меня два процесса запущены параллельно.Я хочу, чтобы родитель отправил ребенку немного символа.Я хочу использовать 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?
}
}
}