Для задания домашней работы я должен написать базовую оболочку, включая redirect. Программа использует readline для запроса ввода, анализирует входную строку и разбивает ее на имя исполняемого файла, аргументы и файлы ввода / вывода, если это применимо. После parsingа строки, это forks и child execv () для исполняемого файла, который был передан. Я использую dup2 (), […]
В псевдокоде C: while (1) { fifo = open(“fifo”, O_RDONLY | O_NONBLOCK); fd_set read; FD_SET(fifo, &read); select(nfds, &read, NULL, NULL, NULL); } Процесс засыпает как вызванный select() пока другой процесс не напишет в fifo . Впоследствии он всегда найдет fifo как читаемый дескриптор файла. Как избежать этого поведения (то есть, после того, как fifo был […]