Перенаправление стандартного ввода через FIFO

Я запускаю серверное приложение (написанное на Java) под GNU/Linux, которое принимает данные (я полагаю, из stdin) и интерпретирует их для запуска некоторых команд. Я не хочу запускать приложение в окне терминала (я бы хотел запустить демон), но я все же хотел бы иметь возможность вводить команды, когда захочу. Я подумал, что смогу сделать это с помощью fifos, поэтому я создал его с помощью mknod. Проблема в том, что кошка fifofile > java... и кошка fifofile | Java... не удалось с ошибкой "файл не найден" по какой-то причине.

Использование только кота для чтения и записи, и fifo работает безупречно.

Есть ли способ исправить это или любой другой способ достичь той же цели?

2 ответа

Решение

Итак, Майнкрафт? Лучший способ сделать это - иметь добросовестный tty для консольной части приложения. экран это простой способ сделать это.

Ты пытался java < fifofile? Как насчет чего-то вроде exec 3<&0; exec 0<fifofile; java?

Какую оболочку вы используете? Вы можете использовать подстановку процессов или сопроцессы, если вы используете оболочку, которая их поддерживает.

Другие вопросы по тегам