Я много читал о том, о чем я спрашиваю, но самое близкое, что я нашел, это использование библиотеки ncurses. Что я делаю, так это простой http-клиент, который будет отслеживать некоторые удаленные папки, чтобы проверить, изменились ли его файлы или есть ли новые файлы. Кроме того, он должен проверять стандартный ввод для некоторых команд, поэтому я планирую использовать родительский процесс для мониторинга стандартного ввода и рабочий процесс для мониторинга удаленных каталогов. Я хотел бы использовать что-то вроде прерывания клавиатуры. Что-то вроде установки обработчика сигнала на нажатие клавиатуры, чтобы пользователю не приходилось нажимать ввод после каждой команды.
Пока что ncurses делает то, что мне нужно, но я не могу печатать на stdout, а вместо этого использую stdscr. Проблема в том, что этот проект является заданием для колледжа, и, скорее всего, его можно будет проверить с помощью скрипта, который читает стандартный вывод программы mi...
Итак, какие-либо предложения?
соответствующий фрагмент кода:
#include <ncurses.h>
initscr(); /* Start curses mode */
raw(); /* Line buffering disabled */
noecho(); /* Don't echo() while we do getch */
char key;
while (TRUE) {
key = getch();
switch(key)
{
case 's':
printw("Instrucción recibida: STOP\n");
printf("Hasta Luego!\n");
fflush(stdout);
/*NOTICE THIS HAS NO EFFECT, */
refresh();
sleep(2);
endwin(); /* End curses mode */
fflush(stdout);
exit(0);
break;
case 'c':
printw("Instrucción recibida: CONTINUE\n");
refresh();
break;
case 'p':
printw("Instrucción recibida: PAUSE\n");
refresh();
break;
default:
printw("Instrucción desconocida recibida: %c\n",key);
refresh();
}
}
endwin(); /* End curses mode */
когда я запускаю свою программу, если я перенаправляю вывод в файл, я получаю пустой файл
$ verific -d http://url.toMy.directory/ > output
$ cat output
$
Спасибо за вашу помощь!!! знак равно