J2SSH ChannelInputStream метод чтения заблокирован с помощью tail -f

Метод чтения J2SSH ChannelInputStream может получить выходные данные из команды. Однако, если я пытаюсь выполнить "tail -f file.txt > output.txt &" (bash) через J2SSH, метод чтения блокируется. Я думаю, что это потому, что нет вывода для чтения в "tail -f"...

Что я пытаюсь сделать, это запустить "tail -f" в фоновом режиме, прочитать выходные данные bash, чтобы убедиться, что "tail" был запущен должным образом (ошибка кода выхода не получена от bash), и следить за ходом моего Java-код (да, tail -f останется запущенным в ОС). Тем не менее, я заблокирован в методе чтения (ChannelInputStream), ожидая вывода, вероятно, из tail -f...

Если я убью процесс tail -f, поток кода вернется к норме. Это означает, что метод чтения (ChannelInputStream) плохо работает с "tail -f".

Какие-либо предложения? Любой способ отправить что-то из Bash в метод чтения, чтобы сказать, чтобы следовать потоку?

 while  ((bytesRead = stream.read(buffer,0,buffer.size()-1)) > 0){ ...

"Поток является типом ChannelInputStream"

0 ответов

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