J2SSH ChannelInputStream読み取りメソッドは、コマンドから出力を取得できます。ただし、J2SSH経由で「tail-f file.txt> output.txt&」(bash)を実行しようとすると、readメソッドがロックされます。これは、「tail-f」で読み取る出力がないためだと思います。
さて、私がやろうとしているのは、バックグラウンドで「tail -f」を開始し、bash出力を読み取って、「tail」が正しく開始されたこと(bashから終了コードエラーが受信されないこと)を確認し、私のフローに従うことです。 javaコード(はい、tail -fはOSで実行されたままになります)。ただし、(ChannelInputStream)readメソッドにロックされ、おそらくtail-f...からの出力を待機しています。
tail -fプロセスを強制終了すると、コードのフローは通常に戻ります。これは、(ChannelInputStream)readメソッドが"tail-f"ではうまく機能しないことを意味します。
助言がありますか?フローをフォローするためにbashからreadメソッドに何かを送信する方法はありますか?
while ((bytesRead = stream.read(buffer,0,buffer.size()-1)) > 0){ ...
「ストリームはChannelInputStreamタイプです」