tail -Fコマンドは終了しませんそれが終了するまで、結果を得ることはできません。 あなたのニーズを達成する2つの方法があります。
まず、それは標準出力です取得する前に尾のプロセスを終了:
${result} = start Process tail -F tailtest alias=tail
#test case stuff starts here
#...
#test case stuff ends here
terminate process tail
${result} Get Process Result tail stdout=True
log ${result}
あなたがやる「プロセスを開始する」とテスト・セットアップ/ティアダウンで結果を得る&、それを終了することができます。
他のオプションは、出力をファイルにリダイレクトし、このファイルの内容を取得することです:
${result} = start Process tail -F tailtest stdout=tailoutput alias=tail
#test case stuff starts here
#...
#test case stuff ends here
${result} get file tailoutput
log ${result}
あなたはとにかく尾のプロセスを終了する場合にはクリーナー解決策になります。
テール出力が大きい場合は、「出力バッファがいっぱいになり、プログラムがハングアップする可能性がある」という問題を回避した方が良い方法です。
これは私が尋ねた質問に答えるので、ありがとうございます。しかし、私は 'tail -f'ではなく' tail -F'を使うべきでした。ユースケースは、一定のサイズの後に回転する回転ログファイルです。 'tail 'がキャップの近くで開始された場合、ファイルがロールオーバーすると、新しいファイルはかなり大きくなり、読み込みはすべての必要な出力を与えません。 – ewok