1

J2SSH ChannelInputStream 读取方法能够从命令中获取输出。但是,如果我尝试通过 J2SSH 执行“tail -f file.txt > output.txt &”(bash),读取方法会被锁定。我认为这是因为在“tail -f”中没有可读取的输出......

好吧,我要做的是在后台启动“tail -f”,读取 bash 输出以确保“tail”已正确启动(没有从 bash 收到退出代码错误)并按照我的流程java 代码(是的,tail -f 将继续在操作系统中运行)。但是,我被锁定在 (ChannelInputStream) 读取方法中,等待输出,可能来自 tail -f...

如果我杀掉tail -f 进程,代码流就恢复正常了。这意味着(ChannelInputStream)读取方法不适用于“tail -f”。

有什么建议么?有什么方法可以将 bash 中的内容发送到 read 方法以跟随流程?

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

“流是 ChannelInputStream 类型”

4

0 回答 0